tengyunyang 2018-12-12 07:44 采纳率: 0%
浏览 1563

c++父类指针为什么能访问子类私有成员函数

#include
using namespace std;
class A{
public :
virtual void Fun(){
cout<<"A::Fun()"<<endl;
}

};
class B:public A{
private :
void Fun(){
cout<<"B::Fun()"<<endl;
}

};

int main(){
A *pa = new A;
pa->Fun();
pa = new B;
pa->Fun();
return 0;
}

  • 写回答

2条回答 默认 最新

  • _ZGq 2018-12-12 10:55
    关注

    因为pa是一个A*型指针,pa->访问的始终是A类的成员。A类的public的fun()函数当然可以由它的对象访问了。(这个程序运行结果应该是两个A::fun())

    评论

报告相同问题?