Forward声明一个子类数组

时间:2014-10-03 14:41:56

标签: c++ class reference subclass forward

我理解为什么这不起作用,因为子类不是前向引用,但是这些内容可能具有相同的理论功能吗?

这是我可以使用的实现,如果我可以转发引用子类数组:

class_declare.h:

class parentClass{
   int i;
}childClass[100];

someSource0.cpp:

include "class_declare.h"

//manipulate values of the array - but can this refer to one that is forward declared
//and not a new object?
void dosomething(){
   childclass[1]=10;
}

someSource1.cpp:

include "class_declare.h"

void dosomethingelse(){
   std::cout<<childclass[1];
}

输出:

10

谢谢!。

1 个答案:

答案 0 :(得分:0)

polymorphism应该允许您创建父对象列表并使用子对象填充它。

class ParentClass{
    int i;
};
ParentClass* ChildClass[100];

这声明了一个列表,该列表可以包含100个ParentClass实例或其任何一个inheretors。

http://www.cplusplus.com/doc/tutorial/polymorphism/