c++学习继承性、类图、Makefile

面对对象编程 – 继承性(继承 – 事物的相似性)(扩展性、代码重用性)

UML 类图关于StarUML的学习教程

​   StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML是一个开源项目之一发展快、灵活、可扩展性强。

​   统一建模语言(UML,Unified Modeling Language)是面向对象软件的标准化建模语言。
​   作用:在软件的开发过程中,统一建模语言可以在整个设计周期中使用,帮助设计者缩短设计时间,减少改进的成本,使软硬件分割最优。

在这里插入图片描述

继承

  1. 继承与组合

    类自动地获得另一个类的部分或全部的属性与操作;提高了代码的可重用性

    is a :狗是动物 <类名 与 类名> 父类 与 子类

    has a :狗有尾巴 <对象 与 对象> 父对象与子对象
    在这里插入图片描述

  2. 内存模式
    在这里插入图片描述

  3. 访问权限
    在这里插入图片描述
    private与protected的不同:

​   private允许类的成员函数访问,不允许在类外访问( 对象 );在继承中private在派生类中不允许访问;protected允许类的成员函数访问,不允许在类外访问( 对象 );在继承中protected允许在派生类的成员函数访问。对于类外而言,这两个是完全相同的。

基类和派生类

  1. 关系
>1. 派生类是基类的具体化
> 2. 派生类是基类定义的延续
  1. 构成

在这里插入图片描述

  1. 构造函数和析构函数

    构造函数:

     • 对自己的数据成员进行初始化
    ​  • 负责调用基类构造函数使基类的数据成员得以初始化;
    ​  • 调用子对象的构造函数,对派生类中的子对象进行初始化;

    调用顺序:基类的构造函数 → 子对象的构造函数 → 派生类构造函数体

    析构函数:执行派生类的析构函数时,基类的析构函数也将被调用;

    析构函数的执行顺序与构造函数严格相反

  2. 隐藏和覆盖: — C++中的覆盖与隐藏(详细讲解)

    IF 子类的函数与父类的名称相同,但是参数不同

      父类函数被隐藏

    ELSE IF 子类函数与父类函数的名称相同&&参数也相同&&但是父类函数没有virtual

      父类函数被隐藏

    ELSE IF 子类函数与父类函数的名称相同&&参数也相同&&但是父类函数有virtual

      父类函数被覆盖

  3. upcasting(向上转型) 和 downcasting(向下转型)

c++必须在类初始化列表中初始化的几种情况 – 参考

  1. const类型的类成员 — 常数据成员;

  2. 引用类型的类的数据成员;

  3. 没有默认构造函数的子对象;(子对象的初始化用对象名,而不是类名)

  4. 派生类在初始化列表中调用基类的构造函数;

多文件操作

​   若干.h / .cpp文件

​   Makefile描述工程所有文件的编译顺序和编译规则

在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值