C++中派生类对基类成员的访问形式有两种:
1.内部访问:派生类新增成员对从基类继承过来成员进行访问
2.对象访问:在派生类外部,通过派生类对象对从基类继承过来的成员进行访问
下面看看派生类对基类的成员的访问规则:
1.派生类私有继承了基类规则(private)
当类的继承方式是私有继承(private)时,基类中的public和protected成员被继承后称为派生类的私有成员,派生类的成员可以直接访问他们,但是在类的外部,通过派生类的对象是不可以对其进行访问的。还有基类中的私有成员在派生类中是不可以直接访问的,无论是派生类的成员还是派生类的对象都无法访问基类中的私有成员。但可以通过基类提供的public 函数对其进行间接的访问。
2.派生类保护继承了基类规则:(protected)
当类的继承方式是保护继承(protected)时,基类中的public和protected成员被继承后称为派生类的保护成员,派生类的成员可以直接访问他们,但是在类的外部,通过派生类的对象是不可以对其进行访问的。还有基类中的私有成员在派生类中是不可以直接访问的,无论是派生类的成员还是派生类的对象都无法访问基类中的私有成员。但可以通过基类提供的public 函数对其进行间接的访问。
3.派生类公有继承了基类规则:(public)
当类的继承方式是公有继承(public)时,基类中的public和protected成员被继承后称为派生类的公有成员和保护成员,派生类的成员可以直接访问他们,但是在类的外部,通过派生类的对象只能进行访问继承过来的public成员。还有基类中的私有成员在派生类中是不可以直接访问的,无论是派生类的成员还是派生类的对象都无法访问基类中的私有成员。但可以通过基类提供的public 函数对其进行间接的访问。