【发布时间】:2017-10-22 01:38:10
【问题描述】:
我有两个类设置如下
class A
{}
class B : A
{}
并且试图拥有一个可以容纳任何 A 类对象或其使用指针的派生类型的向量。我试着做:
vector<A*> objectsvar;
B var1();
objectsvar[0] = var1;
// Also tried = *var1;
有没有办法做这种事情?拥有一个可以容纳任何类型 A 或其派生类而不丢失任何东西的容器?
【问题讨论】:
-
B var1();声明一个不带参数并返回B的函数;不是B类型的变量。删除括号。 -
向量为空;
objectsvar[0]访问越界索引。 -
在你最喜欢的 C++ 教科书中阅读
&运算符的地址。
标签: c++ pointers inheritance containers