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成员在派生类中不可访问。

表格来说明

 

相关推荐

  1. <span style='color:red;'>继 承</span>

    继 承

    2023-12-05 18:56:08      29 阅读
  2. c++中的单继承、多继承虚拟继承

    2023-12-05 18:56:08       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 18:56:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 18:56:08       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 18:56:08       82 阅读
  4. Python语言-面向对象

    2023-12-05 18:56:08       91 阅读

热门阅读

  1. android11-隐藏状态栏和导航栏

    2023-12-05 18:56:08       43 阅读
  2. 【Rust与AI】概览和方向

    2023-12-05 18:56:08       55 阅读
  3. js中()的作用

    2023-12-05 18:56:08       62 阅读
  4. 【Qt5】Qt中的容器有哪些

    2023-12-05 18:56:08       56 阅读
  5. Redis的基本数据类型及常用命令

    2023-12-05 18:56:08       49 阅读
  6. kotlin中sealed语句的使用

    2023-12-05 18:56:08       53 阅读