【发布时间】:2013-01-08 09:49:40
【问题描述】:
我有一个父类 A 和 2 个派生类 A1 和 A2:
class A {
}
class A1 : public class A {}
class A2 : public class A {}
在另一个 B 类中,我想保留一个由对象 A1 或 A2 组成的集合。
class B {
vector<A1> _A1s;
vector<A2> _A2s;
}
除了保留 2 个单独的向量 A1s 和 A2s,有没有办法将这 2 个向量组合起来?我考虑过矢量或矢量,但是当 A1 或 A2 调整大小时,任何一种方式都可能丢失对象(我假设)。
有什么想法吗?
【问题讨论】:
-
您可能需要重新考虑在容器中存储指向 A 的指针的优缺点,而不是维护两个单独的向量
-
我认为您应该更多地了解C++中的继承;这个话题对你来说似乎很新,很可能你一开始甚至不想要任何继承(初学者倾向于在 C++ 中过度使用继承)。
标签: c++ inheritance collections vector