【发布时间】:2013-12-10 15:00:22
【问题描述】:
我有 G 课。
B 类:公共 G
A 类:公共 B
D 类:公共 G
C 类:公共 D
F 类:公共 G
E 类:公共 F
从另一个班级,我可以访问 G(G 对不起!!)。我必须得到一些 A 类成员(例如,字符串 m_Astr)。
如何访问 A 字符串?如果我在 G 类中使用纯虚函数,除了 A 的实现,我还必须在 E 和 C 中实现这个 getStr 函数,而且我只需要 A。
请帮忙
【问题讨论】:
-
您的
E对象与任何A有什么关系? -
我认为您的意思是,您想通过对
B或G(A的基类)的引用访问A,而不是E(一个不相关的类,哪个不能是A) 的实例?在第一种情况下,dynamic_cast可能是您想要的;第二个,你不能,因为没有A可以访问。 -
A 既不是 E 的祖先也不是 E 的后代。
-
对不起!我的意思是 G,而不是 E.. 已编辑 :(
-
是的,迈克,G,(不是 E)。你能解释一下如何使用动态演员吗?
标签: c++ inheritance derived pure-virtual