重载赋值运算符

时间:2022-07-14 01:40:31

一、基础知识点:

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.修改对象时调用重载赋值运算符函数