行业知识
【C++从练气到飞升】04---拷贝构造函数
2026-11-08 17:24:26
来源:互联网转载
个人主页:库库的里昂
✨收录专栏:C++从练气到飞升
鸟欲高飞先振翅,人求上进先读书。
目录
⛳️推荐
一、拷贝构造函数的引入
1. 以日期类为例:进行的值拷贝是不会发生错误的
2. 以栈类为例:进行的值拷贝会发现发生错误
二、拷贝构造函数
1. 拷贝构造函数的概念
2. 拷贝构造函数的特征
3. 拷贝构造函数针对自定义类型,自定义类型的对象在拷贝的时候,C++规定必须要调用拷贝构造函数
4. 拷贝构造函数的典型调用场景
⛳️推荐
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站
一、拷贝构造函数的引入
对于上章节的学习我们认识并了解了两大默认成员函数:构造函数和析构函数。构造函数主要用来进行对象的成员变量初始化操作,而析构函数主要用来对战斗后的战场做清理工作。当我们不写这些函数时,编译器会自动生成默认的构造与析构函数,但有时候,编译器生成的并不能满足我们对代码的需求,这就需要我们自己去写了(比如Stack类),所以要根据情况的不同而去选择性的写。
此外就引入一个问题,假设我们需要创建一个对象和已经存在的对象一模一样那应该怎么办呢?显然易见的答案就是拷贝,但真的只是简简单单的拷贝吗?通过对比如下两种类的拷贝:
1. 以日期类为例:进行的值拷贝是不会发生错误的
#define _CRT_SECURE_NO_WARNINGS 1#include #includeusing namespace std;class Date{public:Date(int year = 1,int month = 1,int day = 1){_year = year;_month = month;_day = day;}void Printf(){cout