假设我的项目中有 2 个文件:“code.h”和“readData.cpp”。 code.h 文件有我的类接口(interface)(和一些成员函数定义),readData.cpp 文件有我的类的私有(private)成员函数之一的定义。
假设这是我的 code.h 文件的内容:
Class MyClass {
public:
MyClass() { readData() };
double sample();
private:
std::vector<double> data;
void readData();
void foo();
};
double MyClass::sample() {
// ...
}
void MyClass::foo() {
// ...
}
假设这是我的 readData.cpp 文件的内容:
#include "code.h"
void MyClass::readData() {
data.push_back(1.3083);
data.push_back(83.24);
// ...
}
现在,在编译并生成目标文件“readData.o”之后,我使用以下代码创建了一个库:
ar rvs myLib.a readData.o
好的,到目前为止一切顺利。但这就是我的问题所在。我想分发这个 myLib.a 库并且仅允许其他用户看到类似以下界面的内容:
Class MyClass {
double sample();
};
我该怎么做?
最佳答案
感谢 Vaughn Cato 的有用评论,我使用 PIMPL 策略解决了这个问题。
关于c++ - 为我的 C++ 静态库创建接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899081/