基础02

1. 指针、引用

  • typedef:给已存在的类型起一个别名
    在这里插入图片描述

在这里插入图片描述
cstr实际类型:
在这里插入图片描述

  • 指向指针的指针在这里插入图片描述
  • 函数指针
    在这里插入图片描述
  • 引用做类的数据成员
  1. 必须用初始化列表初始化
  2. 必须自定义构造函数
    在这里插入图片描述

2. 类

  • 在类内部定义的函数默认为inline(内敛函数)
  • 成员变量的初始化顺序与变量在类中的声明顺序相同
  • 对于类类型的数据成员若未在初始化列表显示初始化,而是在函数体里赋值,则相当于先调用类的默认构造函数进行初始化,再在函数体内赋值,相比于直接利用初始化列表,效率较低。
  • 必须在构造函数初始化列表中进行初始化:
  1. 没有默认构造函数的类类型的成员
  2. const类型的成员变量
  3. 引用类型的成员变量
  • 成员函数的覆盖
    在这里插入图片描述
  • 成员函数的隐藏
  1. 两个函数参数相同,但基类函数不是虚函数
    在这里插入图片描述
  2. 两个函数参数不同
  • 例题
    在这里插入图片描述

3. 面向对象编程

  • 共有继承
    父类的protected成员成为子类的protected成员,可以被子类中的成员函数及其友元函数访问,不可以由子类对象访问。

  • 转换构造函数、类型转换函数
    在这里插入图片描述
    在这里插入图片描述

  • 虚函数多态

  1. 静态多态性:函数重载、运算符重载
    动态多态性:虚函数

在这里插入图片描述

  1. 为什么C++不支持友元函数为虚函数?
    因为C++不支持友元函数的继承,没有实现虚函数的必要。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • typeid:返回指针或引用所指对象的实际类型
    typdid(e)

  • 显示转换

  1. 格式:cast_name<type>(expression)

  2. reinterpret_cast
    在这里插入图片描述

  3. const_cast
    去掉const
    在这里插入图片描述

  4. static_cast
    仅当类型之间可隐式转换时,static_cast的转换才是合法的。
    C++基本类型的指针之间不能隐式转换。

  5. dynamic_cast
    type必须是类的指针、引用、void*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值