我正在写一个B-link树及其伴随的子类,如数据页类和节点类等.
我想知道有没有办法保护节点和页面的公共接口,这样只有b-link树类本身才能访问它们,而不会同时将页面和节点的私有方法暴露给b-link类?
IE我已经想过简单地将页面和节点的"公共"界面更改为受保护的类别,然后将B-link树声明为朋友,但是这使得b-link树可以访问我想要保留的私有方法私人的.
在我的头顶,你可以做类似的事情:
class FooAdapter;
class Foo
{
private:
void funcToExpose();
void funcToHide();
friend FooAdapter;
};
class FooAdapter
{
private:
Foo foo;
void funcToExpose() { foo.funcToExpose(); }
friend SomeFriend;
};
Run Code Online (Sandbox Code Playgroud)
(没有编译或测试,但你应该明白.)
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |