Я хочу скомпилировать часть своего кода в виде статической библиотеки для включения в другой проект. Конечно, мне придется распространять скомпилированную библиотеку и заголовочный файл, содержащий объявление класса и общедоступные члены, но я не знаю, возможно ли переместить все частные члены и объявления в место, отличное от заголовочного файла.
Пример:
В файле project.h:
class MyClass
{
public:
MyClass();
void Give_me_an_input(int);
int Get_your_output();
private:
int a, b;
int MySecretAlgorithm();
};
В файле .cpp:
MyClass::MyClass()
{
a = 1;
b = 0;
}
void MyClass::Give_me_an_input(int c)
{
b = c;
}
int MyClass::Get_your_output()
{
return MySecretAlgorithm();
}
int MyClass::MySecretAlgorithm()
{
return (a + b);
}
Есть ли способ переместить все частные члены int a, b;
и int MySecretAlgorithm();
в место, отличное от файла заголовка?
cpp
реализуйте его. В вашем секретном файле создайте указатель на эту функцию со значимым именем - person SomethingSomething   schedule 02.05.2014vector<void*>
и приведения элементов по мере необходимости. Хотя это было бы некрасиво. - person Red Alert   schedule 02.05.2014