在C++编程语言中,在声明一个派生类时将基类的继承方式指定为private的称为私有继承,用私有继承方式建立的派生类称为私有派生类(private derived class),其基类称为私有基类(private base class)。
私有基类的公用成员和保护成员在私有派生类中的访问属性相当于派生类中的私有成员,即派生类的成员函数能访问它们,而在派生类外不能访问它们。私有基类的私有成员在派生类中称为不可访问的成员,只有基类的成员函数可以引用它们,一个基类成员在基类中的访问属性和在私有派生类中的访问属性可能是不相同的。私有基类的成员在私有派生类中的访问属性见下表:
私有基类中的成员 在私有派生类中的访问属性
私有成员
公用成员
保护成员 不可访问
私有
私有
例:
class Student1: private Student
{public:
void display_1()
{ cout<<"age:"<<age<<endl;
cout<<"address:"<<addr<<endl;
private:
int age;
string addr;
};