关于C++ 赋值操作符重载的疑问(答得好追分)

[复制链接]
查看11 | 回复1 | 2012-3-30 20:16:53 | 显示全部楼层 |阅读模式
我没理解你第一个问题,我解释一下拷贝构造函数和赋值操作符的使用场景,比如有一个类X:X a; // 进普通的,不带参数的构造函数。X b(a) // 进拷贝构造函数。X c = a // 进拷贝构造函数,注意这里是对象初始化,不进赋值操作符。X d; d=a; // 进赋值操作符。关于第二个问题,从上面的场景可以看出,在调用赋值操作符之前,该对象一定已经进过构造函数了,有可能是普通的构造函数,也有可能是拷贝构造函数,总之他的成员变量一定已经初始化过或者拷贝过了,所以赋值操作符重载要先delete[] str,不过删除之前应判断 str != NULL,因为普通的构造函数可能将它初始化为NULL。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行