【发布时间】:2017-01-28 17:16:55
【问题描述】:
我在处理当前项目时遇到了一些麻烦。该项目包括从文件中获取数据行并创建一个类对象数组,这些类对象都继承了一个基类。
所以,这就是我目前所理解的:
class BaseClass {
// create empty and non-empty constructor
}
class SubClass : public BaseClass {
// create constructor specifically for this class
}
int main() {
BaseClass *array[size];
array[index] = new SubClass();
return 0;
}
由于子类继承了基类,当我向数组中添加一个新对象时,它的类型应该是子类,对吗?
当我调试程序并查看该对象时,它不允许我指向任何子类方法/变量进行操作,这是我需要能够做的。
现在当我在寻找答案时,我遇到了静态转换,所以我尝试了以下程度:
(static_cast<SubClass*>(array[index])->subclass_variable) = some_value
但这似乎也不起作用,非常感谢任何帮助。
【问题讨论】:
-
好的,实际的问题是什么?
-
如何创建一个继承的类对象数组,我可以在其中单独访问和操作。
标签: c++ arrays inheritance