Может кто-нибудь дать мне пример того, как работают публичные и частные заголовки? Я немного читал в сети, но не могу найти много полезной информации с примерами кодов. Мне посоветовали использовать частные заголовки для разделения открытых и закрытых частей моего кода для создания статической библиотеки. После некоторого прочтения у меня есть общее представление о том, как это работает, но я был бы очень признателен за хороший пример для начала. В частности, я не совсем понимаю, как поместить функции интерфейса в мой открытый заголовок, а частные переменные / функции - в мой частный заголовок? Спасибо!
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 не может #include 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 ...