c++知识点总结

文章介绍了C++中的核心概念,包括引用的使用注意事项,函数的重载机制,externC的作用,以及构造函数和析构函数在对象生命周期中的角色。详细讨论了类和对象、静态成员、面向对象的继承和多态特性,特别是虚函数的动态绑定。此外,还提到了函数模板和类模板的泛型编程,以及STL(标准模板库)的六大组件。
摘要由CSDN通过智能技术生成

1.引用

在这里插入图片描述

  • 不要返回局部变量的引用,调用函数执行后局部变量会销毁

2. 重载

在这里插入图片描述

  • 是C++多态的特性(静态多态)。同一个函数名代表不同的函数功能
  • 同一作用域,函数的参数类型、个数、顺序不同都可重载。(返回值类型不能作为重载的条件)

在这里插入图片描述

3. extern “C”

在这里插入图片描述

4.构造函数

  • 完成初始化

5.析构函数

  • 完成清理

6.类和对象

  • 静态成员变量:可在对象创建之前使用。类中定义,类外初始化,可直接使用类名调用
  • 静态成员函数:为私有静态成员变量服务,可通过get方法为其赋值

单例模式

    1. 将构造函数私有化,可防止外界实例化对象,只能办法内部实例化,而内部实例化类不知道大小,需要执行完类,只能初始化在类外,所以需要一个静态变量
    1. 定义静态的指针变量保持唯一实例的地址,因为这样就知道了多大,实例化成功
    1. 类外需要调用实例化,,还需定义公共成员方法,获得唯一实例大的地址。
      在这里插入图片描述
      在这里插入图片描述

7.面向对象模型

  • C++类对象中的变量和函数是分开存储的,(static变量、函数、变量),类的大小指变量,函数只有一份,造成多个对象共用一块代码,那这个函数任何区分是那个对象调用的呢

  • 成员函数通过this指针来得知操作的是那个对象的数据

  • 注:静态成员函数没有this指针,因为服务的是静态变量,静态变量不需要指定,都可以操作

  • 函数形参和成员同名,可以使用this指针解决

  • 在这里插入图片描述

  • this指针完成链式操作

  • 在这里插入图片描述

  • const修饰成员函数

  • 在这里插入图片描述

8.继承

  • 父类在子类中体现出共性,子类新增的数据体现个性
    在这里插入图片描述

  • 构造析构顺序
    在这里插入图片描述

  • 子类实例化时,要想调用成员对象、父类的有参构造,必须使用初始化列表,因为在构造函数之前调用。父类写类名称,成员对象用对象名(不是成员类名称)
    在这里插入图片描述

父类和子类的同名处理:

  • 1.同名成员最简单最安全的处理方式:加作用域
    在这里插入图片描述

  • 2.重定义
    子类一旦重定义了父类的同名函数,子类中都将屏蔽父类所有的同名函数

  • 3.父类的构造析构和操作运算符不能继承(重载)

9.多态

  • 提供接口与具体实现之间的另一层隔离,可随时扩展

  • 静态多态:(编译时多态)函数重载、重定义

  • 动态多态:(运行时多态)虚函数

  • 父类指针保存了子类空间地址
    在这里插入图片描述

  • 虚函数
    在这里插入图片描述

  • 动态绑定机制
    在这里插入图片描述

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

  • 纯虚函数
    在这里插入图片描述

10.函数模板

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

11.类模板

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

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

12.STL

  • 六大组件:容器;算法;迭代器;防函数;适配器;空间配置器
  • String
    在这里插入图片描述
  • vector嵌套
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Strive_LiJiaLe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值