C++公用继承

1.1在定义一个派生类时把派生方式指定为public的,称为公用继承,派生类称为公用派生类,基类称为公用派生类。
1.2关于公用继承的一段代码:
#include <iostream>
using namespace std;
class student
{
public:
    void display();
    void setValue(int number,int age,char* name);
private:
    int number;
    int age;
    char* name;
};
class student1:public student
{
public:
    void display_1(){display();cout << "sex is " << sex << endl;}
private:
    bool sex;
};
void student::setValue(int number,int age,char* name)
{
    this->number=number;
    this->age=age;
    this->name=name;
}
void student::display()
{
    cout << "number is " << number << endl;
    cout << "name is " << name << endl;
    cout << "age is " << age << endl;
}
int main()
{
    student1 stu;
    stu.setValue(1,18,"shukai");
    stu.display_1();
    return 0;
}

C++私有继承

1.1在定义一个派生类时将基类的继承方式指定为private的,称为私有继承,派生类叫私有派生类,基类叫私有基类。
1.2不能通过派生类对象引用由私有基类继承过来的任何成员。
1.3派生类的成员函数不能访问私有基类的私有成员,但可以访问私有基类的公用成员和保护成员。

C++保护继承

1.1在定义一个派生类时将基类的继承方式指定为protected的,称为保护继承,派生类叫保护派生类,基类叫保护基类。

1.2保护继承的特点是:保护基类的公用成员和保护成员在派生类中都成了保护成员,其私有成员仍为基类私有。

C++多级派生时的访问属性

1.1 A < B < C 类B是类A的派生类,类C是类B的派生类。类B称为类A的直接派生类,类C称为类A的间接派生类。类A是类B的直接基类,是类C的间接基类。
1.2如果在多级派生时都采用公用继承方式,那么直到最后一级派生类都能访问基类的公用成员和保护成员,如果采用私有继承的方式,在经过若干次派生之后,基类的成员已经变成不可访问的了,如果采用保护继承的方式,在派生类外是无法访问派生类中的成员的。而且经过若干次派生后,人们很难清楚的记住哪些成员可以访问,哪些成员不可以访问,常常出错。因此,在实际中,往往用的是公用继承。

C++三大继承与多级派生相关推荐

  1. C++基础之继承类和派生类

    (1)继承是创建一个具有某个类的属性和行为的新类的能力.原有的类称为基类,新创建的类称为派生类.派生类将基类中的所有成员作为自己的成员,同时派生类本身可以定义新的成员 (2)派生类只有一个基类的继承称 ...

  2. c++继承 基类 派生类 虚函数

    继承   类和类的关系有组合.继承和代理.继承的本质就是代码复用.子类继承父类中的一些东西,父类也称为基类,子类也称为派生类.派生类继承了基类除构造函数以外的所有成员. 继承的方式   继承方式有pu ...

  3. 807-C++多继承下,派生类对象有几张虚函数表?

    C++多继承下,派生类对象有几张虚函数表? 我们看下面这个示例: #include <iostream> #include <string> #include <type ...

  4. 继承规则及派生类的成员函数

    继承是面向对象复用的重要手段.通过继承定义一个类,继承是类型之间的关系建模,共享共有的东西,实现各自本质不同的东西. 成员访问限定符&继承关系: 这是一个简单的继承关系: #include&l ...

  5. C++三大继承构造函数的执行顺序详解

    写的挺好的,关于继承和构造函数的先后顺序问题. 转自: http://blog.csdn.net/daheiantian/archive/2011/02/18/6438782.aspx 一.单继承 核 ...

  6. JAVA封装|继承|多态

    一,继承:面向对象的三大继承之一 子类 | 派生类 : 继承父类的类 定义子类独有的内容 父类 | 超类 | 基类 : 被子类继承的类 所有子类的共性 1,Q&A 1.为什么要使用继承 ? 为 ...

  7. 派生类的继承方式【C++继承】

    类别 public protected private 派生类成员标识 图示(表格/图) 分类(四类访问) 类的作用域运算 Shadow 作用域运算符:: 小结 why public? 继承方式 继承 ...

  8. 2021-08-14c++面向对象的三大特性之二——继承

    继承 同种动物有自己的共性,又有自己的个性 有一些类具有同样的共性,但同时又有自己的个性,这时候就需要继承一些类的特性来减少重复的代码量. 继承可以减少重复的代码 class A :pubilc B; ...

  9. python基础——继承与派生、组合

    python基础--继承与派生 1 什么是继承: 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类成为基类或超累,新建的类成为派生类或子类 1.1 继承分为:单 ...

最新文章

  1. deepLink iOS 应用到自己APP 记录
  2. 这个VS Code扩展可以自动生成Python文档字符串
  3. C#学习笔记(C#与C++的差异)001
  4. 信息安全与硬盘数据销毁
  5. 计算机投诉信英语作文,电脑投诉信英语作文
  6. .net core中使用缓存(cache)
  7. catia中sew的用法_CATIA超级副本(PowerCopy)使用方法总结 | 坐倚北风
  8. 深入业务成为更好的软件架构师——信息化建设图鉴一二例
  9. 手把手教你把代码丢入github 中
  10. Sql 列转行 三种方法对比
  11. oracle数据从一个表空间导入到另外一个表空间
  12. OpenCV保存H264视频的问题
  13. Git和Cmake下载超级慢的解决方案
  14. web逻辑思维题目_有关于最难的逻辑思维题目及答案
  15. win10录屏_截屏、录屏这种小事,Win10自带功能比微信QQ强 N 倍!
  16. VC编程--玩转控件(Windows编程简介)
  17. Easy Iot实现MQTT实验
  18. 拜托,使用 Three.js 让二维图片具有 3D 效果超酷的
  19. Kubectl logs 命令
  20. java饼图_java 百分比饼图的实现代码

热门文章

  1. Java:File.separator作用相当于 ‘ \ ‘
  2. SpringAOP+自定义注解实现日志功能
  3. Java SSM篇5——SpringMVC
  4. Mvvm、第一个Vue程序、Vue基本语法
  5. 博途变量类型_PLC数据类型(UDT)
  6. python深度复制列表_Python-如何深层复制列表?
  7. udp模拟tcp java_Java简单实现UDP和TCP
  8. 二级计算机access押题,全国计算机等级考试标准教程:二级Access
  9. tcp out of order解决_Java解决CAS机制中ABA问题的方案
  10. appium自动化测试_Appium自动化测试入门教程No.1—— Appium介绍