有人可以给我一个公共和私人标题如何工作的例子吗?我在网上做了一些阅读,但我似乎无法通过示例代码找到很多有用的信息。有人建议我应该使用私有标头来分隔代码的公共和私有部分以创建静态库。经过一番阅读,我对它的工作原理有了一个大致的了解,但我真的很感激有一个很好的例子来帮助我入门。具体来说,我不太明白的是如何将接口函数放在我的公共头文件中,而将私有变量/函数放在我的私有头文件中?谢谢!
编辑:
也许我的问题措辞不正确,但我的意思是,例如,我有 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 类......