re-usability, архитектура и инкапсуляция данных
вот пример:
говорят, что вы создаете файл cpp, который содержит простую форму строковых подпрограмм, все в классе mystring, вы поместите класс decl для этого в файл mystring.h, компилирующий mystring.cpp в файл .obj
теперь в вашей основной программе (например, main.cpp), вы включаете заголовок и ссылку с mystring.obj. для использования mystring в вашей программе вы не заботитесь о деталях , как реализуется mystring, поскольку заголовок говорит , что он может сделать
сейчас, если a приятель хочет использовать ваш класс мистиков, который вы даете ему mystring.h и mystring.obj, он также не обязательно должен знать, как он работает, пока он работает.
позже, если у вас есть больше таких .obj, вы можете объединить их в файл .lib и ссылку на него.
вы также можете изменить файл mystring.cpp и реализовать его более эффективно, это не повлияет на ваш main.cpp или вашей приятельской программы.