C++ 暴露部分私有接口
C++ 中可以通过桥接类的方式来暴露类的一部分接口。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| class Exposure;
class Hidden{ private: friend class Exposure;
int foo();
int bar();
int hidden(); }
class Exposure{ public: int foo(){ return impl_->foo(); }
int bar(){ return impl_->bar(); }
private: Hidden *impl_; }
|