C++ 公有继承、保护继承和私有继承

目录

概述

1.使用public继承

2.使用protected继承

3.使用private继承

表格来说明


概述

在c++的继承控制中,有三种不同的控制权限,分别是public、protected和private。定义派生类时,若不显示加上这三个关键字,就会使用默认的方式,用struct定义的类是默认public继承,class定义的类是默认private继承。

1.使用public继承

派生类内部可以访问基类中public和protected成员,但是类外只能通过派生类的对象访问基类的public成员。

(1)基类的public成员在派生类中依然是public的。

(2)基类中的protected成员在派生类中依然是protected的。

(3)基类中的private成员在派生类中不可访问。

2.使用protected继承

派生类内部可以访问基类中public和protected成员,并且类外也不能通过派生类的对象访问基类的成员(可以在派生类中添加公有成员函数接口间接访问基类中的public和protected成员)。

(1)基类的public成员在派生类中变为protected成员。

(2)基类的protected成员在派生类中依然是protected成员。

(3)基类中的private成员在派生类中不可访问。

3.使用private继承

派生类内部可以访问基类中public和protected成员,并且类外也不能通过派生类的对象访问基类的成员(可以在派生类中添加公有成员函数接口间接访问基类中的public和protected成员)。

(1)基类的public成员在派生类中变成private成员。

(2)基类的protected成员在派生类中变成private成员。

(3)基类的private成员在派生类中不可访问。

表格来说明

 C++ 公有继承、保护继承和私有继承_第1张图片

你可能感兴趣的:(C++,c++,公有继承,保护继承和私有继承)