关于c++的继承。。。。。

我先定义了一个二叉搜索树,然后利用继承定义一个AVL树,但是我在AVL树里面使用二叉搜索树里面定义的变量时,编译器告诉我未定义,这是什么原因,求解答!![图片说明](https://img-ask.csdn.net/upload/201512/22/1450713749_941457.png)图片说明

4个回答

贴全代码啊,敲代码费劲。。。。
结构体构造函数初始化列表不能直接使用基结构体成员。
可以有两种办法实现初始化:
1、AVLnode():BinTreeNode(),bf(0){}
2、AVLnode:bf(0){leftChild=rightChild=NULL;};

qq_27105167
iamBingoNJU 我在派生类中使用基类之前用了一个using来声明,貌似可以解决,反正是通过了编译
大约 4 年之前 回复
qq_27105167
iamBingoNJU 还真是编译器的问题,哎。不过还是谢谢了。
大约 4 年之前 回复
qq_27183003
ysuwood 在vc中派生类是可以使用基类成员的,但是不能在派生类构造函数初始化列表中使用。
大约 4 年之前 回复
qq_27105167
iamBingoNJU 就是我感觉不能在继承的类中使用基类中定义的变量,总会出现这样的error: ‘leftChild’ was not declared in this scope
大约 4 年之前 回复
qq_27183003
ysuwood 没gcc,不知道有什么不同。
大约 4 年之前 回复
qq_27183003
ysuwood 对基结构体成员初始化,不用特意在AFLnode中赋值,会自动调用构造函数的。
大约 4 年之前 回复
qq_27105167
iamBingoNJU 回复ysuwood: gcc4.9.2
大约 4 年之前 回复
qq_27105167
iamBingoNJU g++,版本号忘了
大约 4 年之前 回复
qq_27183003
ysuwood 我用vs2010编译通过了,你还有什么问题?没编译成功?用的什么编译器?
大约 4 年之前 回复
qq_27105167
iamBingoNJU 具体代码在这里https://github.com/iambingoNJU/MyClass/tree/master/tree
大约 4 年之前 回复
qq_27105167
iamBingoNJU 都试了,还是不行。。
大约 4 年之前 回复

这个是二叉搜索树图片说明

图片说明

你的代码是用模板写的, 不知道你的继承是怎么写的,继承方法对不对。
http://blog.csdn.net/foryourface/article/details/21090467

qq_27105167
iamBingoNJU 我是public继承方式,应该可以访问基类中的成员啊
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问