- 赋值运算符重载用于对象数据的复制
- operator= 必须重载为成员函数
- 重载函数原型为:
类型 & 类名 :: operator= ( const 类名 & ) ;
案例:完善Name类,支持=号操作。
具体看如下代码:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
class Name
{
public:
Name(const char* myp)
{
m_len = strlen(myp);
m_p = (char*)malloc(m_len+1);
strcpy(m_p,myp);
}
//Name obj2=obj1 这是浅拷贝
//解决方案,手工编写深拷贝构造函数
Name(const Name&