Question1-拷贝构造是用来做什么的?
参考构造函数在导出对象时使用,拷贝构造函数在我们对对象进行类似”copy“操作时使用(好像是废话),这里说的“类似copy的操作”,主要包括以下四个方面:
1. 使用对象进行拷贝初始化
copy constructor多用于copy initialization,但copy initialization不总是调用copy constructor,也可以是 move contructor,关于move constructor……扯远了……
所谓的拷贝初始化,是这个样子的:
/*----使用类的对象进行拷贝初始化----*/
class Animal //定义一个Animal类
{
};
Animal Cat; //利用构造函数导出一个Cat对象,具备了Animal的所有特征
Animal YourPet=Cat; //刚好你家有一个喵星人,这时你就可以把这个Cat的特性赋给你家的小喵喵-
//-只要你不嫌麻烦,其实你完全也可以通过调用constructor再创建一个和Cat一模一样YourPet
2. 把对象作为参数传递给一个非引用类型(nonreference type&