假设我有一个基类B,派生类D,派生派生类DD。 如何获取当前对象的直接父级实例?
例如
DD dd;
if (condition )
dd->myfunction();
else
d = getcurrentparent(); // this should give the current parent, here D d;
编辑:
好的,我正在添加我的场景。
它就像一个菜单。每个菜单都是不同的类别。
主菜单-基类 子菜单 - 派生类 子子菜单 - 派生的派生类。
现在当我在 sub 子菜单中遍历时,我需要知道当前 obj 的直接父级(比如从 sub 子菜单返回到子菜单)
最佳答案
如果你有 DD dd;
,你总是可以通过分配给一个引用来获得对它的任何基类的引用:
DD dd;
D& d = dd;
虽然我不确定您为什么要这样做,因为派生对象可以做基础对象可以做的所有事情(甚至更多)。
关于c++ - 如何找到派生类的直接父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13175303/