【发布时间】:2016-01-25 14:46:01
【问题描述】:
我正在开始写作课程并且有以下问题。 假设我有以下课程:
class foo
{
private:
int bar;
public:
foo(int bar): bar(bar){}
void set_bar(int ubar){bar=ubar;}
int get_bar(){return bar;}
};
现在我想编写一个包含foo 实例的类。
class foo_cont
{
private:
vector<foo> foo_vec;
public:
foo_cont(){}
void add_element(foo f1){foo_vec.push_back(f1);}
};
假设我创建了一个foo_cont f1; 的实例并用foo 的实例填充foo_vecit。如何用set_bar()修改foo_vec的元素?
编辑: 由于我对堆栈溢出很陌生,这可能是一个非常愚蠢的问题,但为什么我会被否决?
【问题讨论】:
-
foo_count中的vector有一个bar而不是foo。是错字吗? -
您是在问我们如何对向量中包含的元素调用函数吗?
-
使用索引:
foo_vec[i].set_bar(0);。而且这根本不是好的设计。 -
即使 foo_vec 是私有的,我真的可以这样做吗?
标签: c++ vector operator-overloading