1 简介
1.1 概念
复制构造函数(copy constructor)是一种特殊的构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式使用复制构造函数。
1.2 格式
假设类的名称是Foo,则Foo类的复制构造函数的声明为
class Foo{
public:
Foo(); //默认构造函数
Foo(const Foo&); //复制构造函数
//....
}
1.3 默认的复制构造函数
如果类中没有定义复制构造函数,则编译器会生成一个默认的复制构造函数。默认的复制构造函数将类的成员进行逐个初始化。
2 应用
假设Foo类的如1.2中格式声明,有如下代码
1 Foo f1