一、基础知识点:
1.赋值运算符重载用于对象数据的复制
2.operator= 必须重载为成员函数
3.重载函数原型为:
类型 & 类名 :: operator= ( const 类名 & ) ;
二、区别赋值运算符重载和复制构造函数
#include<iostream.h>
#include<string.h>
class Name
{ public :
Name ( char *pN ) ;
Name( const Name & ) ; //复制构造函数
Name& operator=( const Name& ) ; // 重载赋值运算符
~ Name() ;
protected :
char *pName ;
int size ;
} ;
void main()
{ Name Obj1( "ZhangSan" ) ;
Name Obj2 = Obj1 ; // 调用复制构造函数
Name Obj3( "NoName" ) ;
Obj3 = Obj2 = Obj1 ; // 调用重载赋值运算符函数
}
注意:
1.初始化对象时调用复制构造函数
2.修改对象时调用重载赋值运算符函数