初学者C ++:在运行时创建对象,而不知道要创建多少对象

时间:2011-10-14 17:26:55

标签: c++ class object runtime

假设我有一个名为'MyClass'的课程。我的'main'方法将参数作为文件名列表。每个文件名都是MyClass的配置文件,但程序用户可以根据需要拥有尽可能多的MyClass对象。如果他们输入2个文件名作为我的main方法的参数,我想有2个对象。

如果我知道用户仅限于2个对象,我可以使用:

MyClass myclass1;
MyClass myclass2;

但是,如果用户说输入了3个或4个文件名,则无法使用。任何人都可以帮助我并建议一种方法,我可以根据我的程序给出的参数数量来创建一些类的实例化吗?

由于

3 个答案:

答案 0 :(得分:3)

使用std::vector。实施例

#include <vector>

std::vector<MyClass> vec;
vec.push_back(MyClass());
vec.push_back(MyClass());
vec.push_back(MyClass());

之后,您可以通过[]和迭代器等访问元素。网上有很好的参考资料。

答案 1 :(得分:2)

您可以使用std::vector MyClass个实例 - 然后您可以根据需要制作尽可能多的实例。

例如,看一下this tutorial(网络上的众多网站之一),让您入门。

答案 2 :(得分:2)

为此,您应该使用数组或向量:

vector<MyClass> myclass;

myclass.push_back( ... );  // Make your objects, push them into the vector.
myclass.push_back( ... );
myclass.push_back( ... );

然后你可以访问它们,如:

myclass[0];
myclass[1];

...

有关更多信息和示例,请参阅维基百科:

http://en.wikipedia.org/wiki/Vector_%28C%2B%2B%29#Usage_example