Может кто-нибудь, пожалуйста, дайте мне пример того, как работают публичные и частные заголовки? Я читал в сети, но я не могу найти много полезной информации с примерами кодов. Мне сообщили, что я должен использовать частные заголовки для разделения публичной и частной частей моего кода для создания статической библиотеки. После некоторого чтения у меня есть общее представление о том, как это работает, но по-настоящему оценит хороший пример, чтобы начать меня. В частности, я не совсем понимаю, как поместить функции интерфейса в мой общий заголовок и частные переменные/функции в моем закрытом заголовке? Спасибо!
EDIT:
Возможно, я не правильно формулирую свой вопрос, но я имел в виду, например, что у меня есть myMath.h и myMath.cpp, а myMath.h:
class myMath{
public:
void initialise(double _a, double _b);
double add();
double subtract();
private:
double a;
double b;
};
И myMath.cpp имеет реализации функций. Как я могу сделать так, чтобы myMath.h имел только три публичные функции, а частные переменные были определены в другом файле (например, myMath_i.h), и эти три файла были такими, что после создания статической библиотеки, Пользователям требуется только myMath.h. Это также означает, что myMath.h не может # включить myMath_i.h. Так что-то вроде:
myMath.h:
class myMath{
public:
void initialise(double _a, double _b);
double add();
double subtract();
}
и myMath_i.h:
class myMath{
private:
double a;
double b;
}
Конечно, это невозможно, потому что тогда я буду переопределять класс myMath...