-
拷贝构造函数的声明(假设Square为类名)
Square(Square&);
Square(const Square&); -
拷贝构造函数的参数数量
如:Square(const Square& ,int =1);第一个参数是同一类的对象的引用,其余参数都有默认值,这样的也是拷贝构造函数。 -
拷贝构造函数的调用
Square c1(5);
Square c2(c1);
Square c3 = c1;
Square c4{c1};
Square c5 = { c1 };
c2-c5都会调用拷贝构造函数,c4,c5是c2,c3的另一种写法,注意c3并不是对象间的赋值,而是拷贝构造函数,如果c3,c1都已经被定义,那么c3=c1才是对象间的赋值。
- Square* c6=new Square(c1)这里也是调用拷贝构造函数。