正确的方式是通过封装类来隐藏实现细节,只保留公共接口。这可以通过将类的数据成员和实现细节声明为私有成员来实现,而将公共函数声明为公共成员函数。以下是示例代码:
class MyApi {
private:
int data_;
void DoPrivateThing() {
// ...
}
public:
void DoPublicThing() {
// ...
}
};
在这个示例中,MyApi类具有私有数据成员data_和私有成员函数DoPrivateThing(),它们封装了类的实现细节。另一方面,DoPublicThing()作为公共成员函数对外部可见,并允许其调用类的公共接口。
在使用该API时,用户只需要实例化公共类,并使用其公共方法,而无需了解实现细节。