如何同时处理C++类的多个成员?

xce*_*cel 1 c++ python class

我习惯了Python,并努力学习一些C++.在Python中,当我有一个带有"移动"功能的类时,我可以简单地将其成员添加到列表中并像这样遍历列表:

for i in list:
    i.move(n)
Run Code Online (Sandbox Code Playgroud)

现在,在C++中如何方便地完成相应的操作?

ser*_*gio 6

您可以使用指针或引用对象在C++中执行相同操作.

如果你的班级是MyClass,你可以声明:

std::vector<MyClass*> list;
Run Code Online (Sandbox Code Playgroud)

然后将您的对象添加到列表中:

list.push_back(&objectOfMyClass); //-- for all of your objects
Run Code Online (Sandbox Code Playgroud)

最后:

std::vector<MyClass*>::iterator itr;
for (itr = list.begin(); itr != list.end(); ++itr) {
   (*itr)->myMethod(...);
}
Run Code Online (Sandbox Code Playgroud)

我已经习惯于std::vector分配对象(它会自动增长)并获得一个应该为您所知的迭代器,但如果您愿意,也可以通过使用普通数组来完成相同的操作.