我想这样做,以便我的记录创建程序的用户可以创建自己的记录。解决此问题的最佳方法是什么?
我可以使用数组或 vector 作为变量名吗?
int RecU[100];
class Record
{...};
int main()
{
Record RecU[1];
}
我试过了,我的程序崩溃了,所以我不确定是否可能。
最佳答案
如果您希望客户端代码能够随意实例化Record
,那么您要做的就是确保至少有一个构造函数可供他们使用(或工厂方法)。通常情况就是这样。如果您这样声明类(class):
class Record
{
};
...然后没有什么可以阻止客户端代码实例化它。他们可以简单地做到这一点:
int main()
{
Record my_record;
}
在您的OP中,您似乎正在尝试创建100个
Record
的数组。您可以这样操作:class Record
{
};
static const unsigned num_records = 100;
Record the_records[num_records];
int main()
{
for( unsigned i = 0; i < num_records; ++i )
Record& that_record = the_records[i]; // 'that_record' is a ref to one of the records
}
关于c++ - 让用户创建自己的类实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4229553/