#include<iostream>
using namespace std;
class Base {
public:
void print()
{
a = 1;
cout<<a<<endl;
}
private :
int a;
};
class Derived : public Base
{
void Print()
{
cout<<a<<endl;
}
};
int main(int argc, char *argv[])
{
Derived test;
test.print();
return 0;
}
用public方法继承父类的public成员函数和private私有成员变量,子类自己的成员函数Print不能访问继承父类的私有变量,但是继承的print函数可以访问继承父类的private变量。如果子类重新定义print函数,不管父类print函数是否为virtual函数,print都无法访问继承父类的private类型变量。