C++ 类继承问题?

2024-12-25 07:39:14
推荐回答(3个)
回答1:

你的A类里bb()没有形参,B类里的bb(char*)有形参,这样只是构成了函数重载,而B继承自A是public继承的,所以相应的A::bb();无形参的bb也被B类所拥有,与你B类里有形参的bb构成函数重载
如果你想调用B里的bb的话,可以将A里的bb也带上char*的形参,或者B类里的bb不带形参,或者将A里的bb声明为虚函数,这样可以达到你的目的,但就不是你想要的隐藏了,隐藏的话必须是类A中的bb与类B中的 bb在函数声明形式上完全一致开可以的

回答2:

因为指针d是B类型的,在B类里BB方法不是虚函数的话,他会调用B类的方法。

回答3:

因为你没再bb函数前面virtual。
也就是说
你没有吧函数bb声明称虚函数
所以他会调用父类的啊