Class 指向继承类的基类

Class 指向继承类的基类,class,pointers,inheritance,base-class,Class,Pointers,Inheritance,Base Class,我有一个继承的类,我想从基类指向它。下面的例子 class Base { inherited* test; }; class inherited: Base { }; 这样做的目的是使基类(字符)包含继承类(项)的链接列表 ps对任何错误表示歉意,我是这个网站的新手可能会欺骗编译器来完成这项工作,但这肯定是糟糕的OOP设计。如果您只想存储继承的类的一个实例,但可以像对待base类一样对待它,那么您可以简单地将inherited*testabase*test,它将接受指向继承的或bas

我有一个继承的类,我想从基类指向它。下面的例子

class Base
{
    inherited* test;
};

class inherited: Base
{
};
这样做的目的是使基类(字符)包含继承类(项)的链接列表


ps对任何错误表示歉意,我是这个网站的新手

可能会欺骗编译器来完成这项工作,但这肯定是糟糕的OOP设计。如果您只想存储继承的
类的一个实例,但可以像对待
base
类一样对待它,那么您可以简单地将
inherited*test
a
base*test
,它将接受指向继承的
base
(或
base
的任何其他子类)的指针.


如果您确实希望
base
将该实例视为继承的
实例,则需要重新考虑您的类层次结构,因为这里实际上没有继承树。

在您的示例中,继承的类
不是从类
base
派生的?你看了两者之间的区别了吗?我想OP只是漏掉了“:public Base”或该语言的等价语义。我的错误是,它应该是继承的,我将编辑这个问题,谢谢我编辑了这个问题以涉及继承语法。所以你说的是使用
Base*测试而不是
继承的*测试它允许我指向任何继承的类?是的。这就是一个要点:如果您使用
:Base
,它将使所有
Base
的方法都是私有的。您需要
:public Base
。如果答案满足您的需要,请接受答案(按旁边的小复选框)