65,011
社区成员
发帖
与我相关
我的任务
分享
自递归调用B::Show()了,但是注意B::Show()是无参的,所以报错。参见《C++程序设计实践教程(新国标微课版)》,为避免自递归,可采用A::Show( )调用,或者((A*)this)->Show()调用,或者((A&)*this).Show()调用,这些调用编译成机器指令的结果都是一样的。
可以在B类中重新导出show,只要在B的声明中加上一句:
using A::show;
即可~
类需要通过作用域运算符::调用父类的Show函数。
void Show() override{
cout << "B" << endl;
A::Show("1");
}