[C++之旅] 12 拷贝构造函数
拷贝构造函数的特点
- 如果没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构造函数
- 当采用直接初始化或复制初始化实例对象时系统自动调用拷贝构造函数
定义格式
类名(const 类名& 变量名)
以下程序为例,拷贝构造函数传入的是一个与自己类型相同的一个引用,实例化stu2和stu3对象时,传入的参数就是stu1。
拷贝构造函数的使用
在实例化一个类时会执行构造函数,在拷贝一个类的时候就执行拷贝构造函数,例如:
class Student
{
public:
Student(){m_Name = "Jimmy";}
Student(const Student& stu){}
};
int main(void)
{
Student stu1;
Student stu2 = stu1;
Student stu3(stu1);
return 0;
}
当实例化stu1时执行了Student的构造函数,但实例化stu2和stu3时执行的是拷贝构造函数。
网友评论