阅读下面的程序,看看输出是什么?
#include <iostream></iostream>
using namespace std;
class A
{
public:
A(void )
{
func();
}
private:
virtual void func( void )
{
cout }
};
class B : public A
{
public:
B(void )
{
func();
}
private:
virtual void func( void )
{
cout }
};
void main(void)
{
B b;
}
结果是:请选择下面的内容,您将看到答案,看看您对了吗。
A::func()
B::func()
关键点在于private权限的成员函数即使是派生类也不能访问,所以B只有访问自己的func()函数了,虽然它是虚函数。
本文探讨了一个C++编程中的有趣现象:派生类无法访问基类的私有虚函数,即使进行了重定义。通过具体示例展示了如何在派生类中调用自己的成员函数而非基类的。
4万+

被折叠的 条评论
为什么被折叠?



