我希望这里有人可以帮助我。
这就是我的问题:我有一个主班和另外三个班。现在,我想创建一个数组,每个索引指向这些类之一。我知道如何通过这样的一门课来做到这一点:
Class1* array[10];
然后我可以将其用于每个索引:
array[i] = new Class1;
但是可以声明一个数组然后使用类似的东西吗?
array[0] = new Class1;
array[1] = new Class2;
array[2] = new Class3;
亲切的问候,Synotix
是的,您可以这样做,但是为此,您必须在C ++中使用继承和多态。
你能做的是。创建一个父类,即
Class parent {
// Some common code here
// Some virtual function here
}
然后从您的父类继承您的所有类(如您的情况),分别是Class1,Class2,Class3 。还要在父类中创建一个虚拟方法以获得C ++中的多态性。
这样,您将可以执行此操作。
parent * allClasses[10];
allClasses[1]= new Class1();
allClasses[2]= new Class2();
allClasses[3]= new Class3();
这是您想要的完整示例。检查此链接有人可以解释多态的好处吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句