【发布时间】:2025-12-05 11:05:01
【问题描述】:
我有MyClass 将容器隐藏在其中,我想控制何时将新项目添加到容器中以及何时从容器中删除项目,但我不需要控制只读操作比如getter函数
class MyClass {
protected:
std::vector<MySubClass> subclasses;
public:
}
为了与MyClass的用户进行交互,我是否应该实现如下接口函数:
addSubClass()、getSubClassAt(int )、getSubClassIndex(MySubclass )、delSubClass()。
或者最好只返回常量迭代器,用于只读操作:
std::vector<MySubClass>::const_iterator getSubclassIterator();
并提供特殊的写操作功能,如
addSubClass(),delSubClass()。
或者有比这些更好的方法吗?
【问题讨论】:
标签: c++ stl interface iterator containers