首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

基类如果是链表结构,子类中p=p->next出错,如何解决

2012-03-06 
基类如果是链表结构,子类中pp-next出错,怎么解决?在基类A中,A是个链表结构,因此*next是基类的数据类型C/

基类如果是链表结构,子类中p=p->next出错,怎么解决?
在基类A中,A是个链表结构,因此*next是基类的数据类型

C/C++ code
A * next
,B是A的继承类,
C/C++ code
class B : public A
,. 所以也是个链表,但是因该如何对这个链表进行操作呢?比如声明一个实例
B *p; 可是执行
C/C++ code
p=p->next
是不能通过的,因为
cannot convert from 'class A *' to 'class B *'。 

应该怎么写可以避免这个问题?

[解决办法]
主要是因为p的数据类型是A. 

解决方案:

你把A,B创建到一个链表中,而不是让A,B的类型是链表。这样我估计尼大部分想通过链表实现的功能都不受影响。

例如:


class A{};
class B{};
class linklist
{
A class_a;
B class_b;
linklist *next;
}

应该就可以了。

热点排行