string a=“abc”;
复制构造函数和重载=号的区别 复制构造函数是复制,而=号是赋值 一。如果是初始化的时候,
如何使用explicit 修饰构造函数,那么将不允许隐式的调用构造函数,比如: class aa{ aa(int a); }; aa(3);//正确 aa =3;//显示的调用构造函数,仍然正确。
class aa{ explicit aa(int a); }; aa(3);//正确 aa =3;//隐士的调用构造函数,错误。
1.myclass x =y x的复制构造函数被调用,y的引用被作为参数传递进来。 2.fun(y) a的复制构造函数被调用,y的引用被作为参数传递进来。 3.y = fun() 返回的临时对象首先调用复制构造函数,fun里面被返回的对象的引用作为参数传递进来。y=,记住,这是复制,调用了 = 号重载
|
复制构造函数的总结
最新推荐文章于 2022-11-28 21:00:41 发布