关于拷贝构造函数的3个问题

简介: 关于拷贝构造函数的3个问题

问题1:拷贝构造函数与赋值运算的区别?

拷贝构造完成的是 初始化 的工作,即只能进行一次。赋值运算可以进行多次。

拷贝构造是创造一个自定义类型的对象,赋值运算是对已经存在的对象进行赋值。

问题2:拷贝构造函数的形参为什么是引用?

拷贝构造函数存在于哪里?存在于类中。是类中六大默认成员函数之一。

以Date类为例,其拷贝构造函数写作

现在我们假设,形参是 const Date d。形参的类型是自定义类型Date。与内置类型不同的是,内置类型的初始化拷贝可以按字节赋值拷贝,而自定义类型初始化拷贝的规则我们是不知道的,因此需要调用它的拷贝构造函数。由于自定义类型对象的赋值拷贝(指初始化的时候)要调用其拷贝构造函数,所以拷贝构造函数的形参应该用引用。

问题3:类中生成的 默认 拷贝构造函数是怎样的

按字节序的浅拷贝。

目录
打赏
0
0
0
0
1
分享
相关文章
|
8月前
拷贝构造函数与移动构造函数
拷贝构造函数与移动构造函数
89 0
4.【拷贝构造函数与重载】
4.【拷贝构造函数与重载】
46 1
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数(一)
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数(一)
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数(二)
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数(二)
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数(三)
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数
124 0
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数(三)
C++中拷贝构造函数的使用
C++中拷贝构造函数的使用
193 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等