我已经考虑过一个对象'genObj'。这个对象可以是类电话,笔记本电脑,鞋子或书本。 我希望用户输入从1-4变化,并相应地将genObj分配给一个特定的类。根据用户输入在C++中为特定对象分配不同的类
我希望这样做,因为我必须将这些对象添加到数据文件。我为不同的类维护了4个单独的数据文件,并且也相应地为fileName赋值。
switch(mode)
{
case 1:
phones genObj;
strcpy(fileName,"phonesDatabase.dat");
break;
case 2:
computers genObj;
strcpy(fileName,"computersDatabase.dat");
break;
case 3:
shoes genObj;
strcpy(fileName,"shoesDatabase.dat)";
break;
case 4:
books genObj;
strcpy(fileName,"booksDatabase.dat");
break;
}
这样做,hovewer,提供了以下错误:
"Multiple declaration for genObj in function add(int)"
值被指定给文件没有问题,因为我已经声明
char fileName[20];
全球,连带后来初始化。但是,由于对象genObj可以是不同的类,所以不能像这样初始化。
如果我不能根据用户输入分配genObj不同的类,我将不得不将代码分成4个部分,每个部分为一个类。那太麻烦了,太不雅了。
谢谢。
如果您使用C++编写(基于您的标签),请使用C++!从你的词汇表中删除'strcpy'。 –
您正在寻找的设计模式称为工厂。请Google。 –