У меня есть MyClass
, который скрывает контейнер внутри него, я хочу контролировать, когда новый элемент добавляется в контейнер и когда элемент должен быть удален из контейнера, но мне не нужно контролировать операцию только для чтениянапример, функция получения
class MyClass {
protected:
std::vector<MySubClass> subclasses;
public:
}
для взаимодействия с пользователем MyClass
, если я реализую функцию интерфейса, такую как:
addSubClass()
, getSubClassAt(int )
, getSubClassIndex(MySubclass )
, delSubClass()
.
или его лучше просто вернуть константный итератор для операции только для чтения:
std::vector<MySubClass>::const_iterator getSubclassIterator()
;
и предоставить специальную функцию операции записи, такую как
addSubClass()
, delSubClass()
.
или есть лучший способ чем эти?