C++复制构造函数的问题

来源:互联网 发布:vc 数据库控件 编辑:程序博客网 时间:2024/05/16 00:45
C++复制构造函数的问题

1、当类中存在指针成员变量时,要小心使用默认的复制构造函数创建类,因为默认构造函数是将类中的各个成员变量的值分别复制到新建的类中,这样,2个类的指针变量将指向同一个值。

2、当类中存在指针成员变量时,应使用显示复制构造函数,更加保险。

3、使用赋值运算符“=”和使用复制构造函数都应该警惕这种现象。解决办法是显示提供赋值运算符的定义。
class A
{
char *str;
...
}
A a;
A b=a;//应该在A中自己定义复制构造函数
A c;
c=a;//应该在A中自己定义赋值运算符“=”


0 0
原创粉丝点击