我希望能够保存一个类名数组,并简单地将索引传递给将创建某个类的实例的函数。我有内存限制,所以我不想简单地创建一个对象数组。
这是我最具描述性的伪代码:
课程:
class Shape
{
public:
Shape();
};
class Square : public Shape
{
public:
Square();
};
class Triangle : public Shape
{
public:
Triangle();
};
主要的:
int main()
{
pointerToShapeClass arrayOfShapes[2]; // incorrect syntax - but
arrayOfShapes[0] = pointerToSquareClass; // how would i do this?
arrayOfShapes[1] = pointerToTriangleClass;
cin << myNumber;
// Depending on input, create instance of class corresponding to array index
if (myNumber == 0) { // create Square instance }
if (myNumber == 1) { // create Triangle instance }
return 0;
}
如果这令人困惑,我可以尝试阐明。提前致谢!
编辑:
真的,我认为我只需要一个指向类的指针,而无需实际实例化该类。