父类:public: virtual void print() 虚函数
子类:private:void print() 私有成员函数
那么为什么通过Base *s2=new Son; s2->print(); 可以调用子类的私有成员函数?
#include<iostream>
using namespace std;
#include<string>
//父类
class Base{
public:
virtual void print(){
cout<<"Base print"<<endl;
}
};
//子类
class Son:public Base{
void print(){
cout<<"Son print"<<endl;
}
};
void test01(){
Son s;
//s.print();//报错,成员方法已经覆盖了
s.Base::print();
Son *s1=new Son;
//s1->print();//报错,
Base *s2=new Son;
s2->print();
}
void main(){
test01();
system("pause");
}