基础02

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zxt_1/article/details/88651944

1. 指针、引用

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

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

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

2. 类

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

3. 面向对象编程

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

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

  • 虚函数多态

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

在这里插入图片描述

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

在这里插入图片描述

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

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

扫描二维码关注公众号,回复: 6087263 查看本文章
  • 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*

猜你喜欢

转载自blog.csdn.net/zxt_1/article/details/88651944
今日推荐