我有一个类Node.此类可以相对于自身添加或删除其他节点.Node由Class类使用.为了防止在使用过程中直接修改节点(外部,IE不是由适当的类),并导致List类出现问题,节点添加/删除功能要么是受保护的,要么是私有的.这要求List类是Node的朋友.
但是,这个问题是List类本身是其他子类的模板类,添加原型/为每个子类添加friend关键字显然不是最佳解决方案.
我如何设计Node和List类/子类,以便:
这些是可能的,如果是的话,怎么样?
标准库的std::list类模板是如何设计列表类的示例,以便不向客户端代码提供对内部节点等的访问.
没有访问权限,没有不受欢迎的干涉......
但是,一般来说,信任一点更为实际,不要吝啬,以确保其他人的代码是正确的.在C++中表达所有使用限制是很多工作.开放一点可以节省大量的工作 - 所以这是一个权衡.
干杯&hth.,
| 归档时间: |
|
| 查看次数: |
1670 次 |
| 最近记录: |