C++深度解析 经典问题解析三 --- 赋值操作符重载 和 拷贝构造函数,string类的疑问(35)
赋值操作符
什么时候需要重载赋值操作符?
编译器是否提供默认的赋值操作?
关于赋值的疑问:
编译器为每个类默认重载了赋值操作符。
默认的赋值操作符仅完成浅拷贝。
当需要进行深拷贝时必须重载赋值操作符。
赋值操作符与拷贝构造函数有相同的存在意义。
示例程序:(默认赋值操作符重载)
#include <iostream>
#include <string>
using namespace std;
class Test
{
int *m_pointer;
public:
Test()
{
m_pointer = NULL;
}
Test(int i)
{
//将指针指向堆空间一个int类型的数据(4个字节)

最低0.47元/天 解锁文章
919

被折叠的 条评论
为什么被折叠?



