【发布时间】:2019-04-05 00:09:29
【问题描述】:
class Element { };
class Container {
vector<Element*> elements;
};
以上是原始代码。我被告知不要更改上面的代码。现在我有
class IndexElement: public Element {
int b_index;
};
class Container* ctr;
现在我有ctr->elements。但是Element 没有成员b_index。有什么简单的方法可以将elements 的归属从Element 重定向到IndexElement?提前致谢!
【问题讨论】:
-
你不能。基类不知道它被用作基类。
-
“有什么简单的方法可以将 a2b 的属性从 b 重定向到 bson?” 除非你使用明确的接口没有。此外,
ason的实例永远无法正确转换为bson。 -
我认为这是如何访问存储在
a2b中的对象中的成员。不将ason转换为bson。 -
原始代码不会编译,所以你可以把它扔掉(或显示真实代码)。
-
我认为,代码非常复杂,没有任何原因。我将进行编辑以减少复杂性,但表达相同的想法。
标签: c++ stl static-cast