C++复习笔记2

ops/2024/9/23 8:14:31/

1,构造函数

1.1 实例

1.2 概念

防止忘记初始化,专门给类对象初始化

1.3 备注

2,析造函数

2.1 实例

2.2 概念

防止忘记销毁,专门销毁类对象

2.3 备注

3,默认构造函数

3.1 实例

3.2 概念

编译器自动生成的构造函数

3.3 备注

4,默认析构函数

4.1 实例

4.2 概念

编译器自动生成的析构函数

4.3 备注

5,默认拷贝构造

5.1 实例

5.2 概念

编译器自动生成的拷贝函数

5.3 备注

6,运算符重载

6.1 实例

不能创造新的符号,不能增加操作符操作数的数量

(::)(.*)(?:)(sizeof)(.)                                 

上面5个不能重载

6.2 概念

重载运算符,让自定义类型可以使用运算符

6.3 备注

6.3.1流插入运算符重载

6.3.1流提取运算符重载

7,友元函数

7.1 实例

7.2 概念

让类外的函数可以访问类的私有成员

7.3 备注

8,默认赋值运算符重载

8.1 实例

两个参数,隐含this指针

默认生成的赋值运算符重载,以值的方式逐字节拷贝,自定义类型会调用自定义类型的赋值重载,类似拷贝构造的浅拷贝。

8.2 概念

不写默认生成的自定义类的赋值运算符重载

8.3 备注

8.3.1 赋值运算符重载与拷贝构造的区别

已经存在对象初始化一个对象——拷贝构造

两个已经存在的对象之间的拷贝

8.3.2 前置++与后置++

所以自定义类型前置++效率高

9,初始化列表

9.1 实例

9.2 概念

有些成员必须在初始化列表初始化,如引用成员变量,const成员变量,自定义类型成员

9.3 备注

9.3.1初始化顺序

按照声明的顺序初始化而不是初始化列表中定义的顺序,先初始化_a再初始化_b

9.3.2静态成员变量和静态成员函数

9.3.3有静态成员的类的大小

10,匿名对象

10.1 实例

10.2 概念

类实例化不给对象名,即用即毁,多用于一次性用成员函数

10.3 备注

10.3.1 const引用匿名对象

11 NEW

11.1 实例

11.2 概念

代替malloc的关键字,new可以调用自定义类的构造函数,帮助自定义类型初始化。

11.3 备注

12 模板

12.1 实例

12.2 概念

模板实例化后生成不同的重载函数实现功能

12.3 备注

12.3.1显示实例化

12.3.2类模板

只能实例化调用


http://www.ppmy.cn/ops/43899.html

相关文章

深入了解 Golang 多架构编译:交叉编译最佳实践

随着软件开发领域的不断发展,我们面临着越来越多的挑战,其中之一是如何在不同的平台和架构上部署我们的应用程序。Golang(Go)作为一种现代化的编程语言,具有出色的跨平台支持,通过其强大的多架构编译功能&a…

快速搭建uni-app项目,vue2、Vue3与图鸟UI组件封装

大家好,我们团队近期在uni-app开发领域取得了重要突破,特地向大家介绍一系列基于Vue 2、Vue 3和图鸟UI的封装组件,以及ucharts图表的封装。这些成果旨在帮助开发者们更加高效、便捷地构建uni-app项目。 一、Vue 2、Vue 3与图鸟UI封装组件 为…

从安装Java到在VSCode中使用

诸神缄默不语-个人CSDN博文目录 VSCode官方使用Java的教程:https://code.visualstudio.com/docs/java/java-tutorial 介绍的就是以下的解决方案。其实非常简单所以我都感觉没啥可写的。 文章目录 1. 懒人包2. 仅安装VSCode Java扩展3. 仅安装JDK4. Java项目管理 1…

如何学习计算机网络(超详细,方法论)

分享一下学习计算机网络的方法论 首先是看视频: 这里我推荐中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版》课程 课程目标_哔哩哔哩_bilibili 教材采用神书《计算机网络(自顶向下方法)》,授课风格更偏向实…

ENVI6.0试用版(180天)详细安装教程,附安装包链接和一些常见问题

ENVI6.0试用版(180天)详细安装教程,附安装包链接和一些常见问题 文章目录 ENVI6.0试用版(180天)详细安装教程,附安装包链接和一些常见问题前言环境来源安装激活问题 前言 如标题所示,这个只是试…

Stream流的使用

目录 一,Stream流 1.1 概述 1.2 Stream代码示例 二,Stream流的使用 2.1 数据准备 2.2 创建流对象 2.3 中间操作 filter map distinct sorted limit skip flatMap 2.4 终结操作 foreach count max&min collect 2.5 查找与匹配 a…

区间预测 | Matlab实现CNN-KDE卷积神经网络结合核密度估计多置信区间多变量回归区间预测

区间预测 | Matlab实现CNN-KDE卷积神经网络结合核密度估计多置信区间多变量回归区间预测 目录 区间预测 | Matlab实现CNN-KDE卷积神经网络结合核密度估计多置信区间多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CNN-KDE卷积神经网络结合…

Java基础学习:java中的基础注解

在Java中,有一些内置的(或称为“基础”)注解(annotation),这些注解在Java标准库中定义,并且具有特定的用途。以下是一些主要的Java内置注解: Override: 用于表示一个方法…