我想创建一个这样的课程:
class foo{
private:
std::vector<DifferentClass> ClassVec1;
public:
int addDiffClass(){...returns id in vector...};
}
在这个类中,add函数返回一个id,我想让向量的.at或[]运算符公开,这样用户就可以正常访问向量中的项目了。但是我不希望push_back函数可用于确保实际正确添加对象。
我该怎么做?
答案 0 :(得分:0)
可以按如下方式限制可用方法。
class myClass {
private:
std::vector<DifferentClass> ClassVec1;
public:
DifferentClass & operator[]( size_t elem ){
return ClassVec1[elem];
}
}