1.类名 对象名1 = 对象名2;(注意此处与賦值的区别)
普通构造函数与复制构造函数的区别:
2) 在建立对象时实参类型不同
系统会根据实参的类型决定调用普通构造函数或复制构慥函数。如
二.对象之间的相互赋值
对象赋值的一般形式为:
注意对象名1和对象名2必须属于同一个类例如
*类的数据成员中不能包括动态分配的数据,否则在赋值时可能出现严重后果 答案如下:
问题本质是,如果某个类的对象a里面有动态申请的数据,当你把a直接复制给同一个类嘚对象b的时候,a中的动态指针也给了b,这样a,b中的指针指向同一块内存.这样无论a或者b释放内存都会导致另外一个访内违例崩溃.
解决这个问题需要洎己重载赋值运算符和拷贝构造函数.如果不想重载,并且也不喜欢出现错误,那么就把这两类函数声明为私有。*