这听起来像是一个新手问题。如何调用存储在向量中的对象的成员函数?据说,我有这门课:
class A {
public:
void foo() {
std::cout << "Hello World"; }
};
Run Code Online (Sandbox Code Playgroud)
然后我将一些对象存储在一个向量中:
std::vector<A*> objects;
A* b;
A* c;
A* d;
objects.push_back(b);
objects.push_back(c);
objects.push_back(d);
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个循环,其中存储在向量中的每个对象都会调用它自己的 foo() 函数。我该怎么做?起初我以为我可以做这样的事情:
objects[2].foo();
Run Code Online (Sandbox Code Playgroud)
但是我好像做不到这样。
你可以这样做:
std::vector<A> objects;
A b;
A c;
A d;
objects.push_back(b);
objects.push_back(c);
objects.push_back(d);
objects[2].foo();
Run Code Online (Sandbox Code Playgroud)
请更具体地说明确切的错误。我怀疑整个问题可能是试图用“.”引用指向对象的指针。而不是“->”。
但是,是的,一般来说:
1)你可以在任何STL容器中保存一个对象,或者指向对象的指针
2) 您可以在从容器访问该对象时调用该对象的任何公共方法。
| 归档时间: |
|
| 查看次数: |
13318 次 |
| 最近记录: |