正在加载图片...
15:06:48 二元运算符重载的特殊情况 1.重载赋值运算符: 重载函数的原型为: 类名&类名::0 perator=( const类名&); 例:Name类的重載赋笪竺 class Name 若类中未重载赋值运算符,该类的对 char *pname; 象之间也可以互相赋值,但完成的是 int size 位对位(或成员对成员)的赋值,与浅拷 public: 贝的情况类似 Name operator=(const Name nm) s1ze-nm。S1ze if(nm. pname !NULL)( pname=new char [size +11 strcpypname, nm. pname) Name npd(“张三”),mm2(“李四”); n2 nm115:06:48 二元运算符重载的特殊情况 1.重载赋值运算符:= 重载函数的原型为: 类名 & 类名::operator=(const 类名&); 例:Name类的重载赋值运算符 class Name{ char *pname; int size; public: Name & operator=(const Name & nm){ size=nm.size; if(nm.pname!=NULL){ pname=new char[size + 1]; strcpy(pname,nm.pname); } return *this; } }; Name nm1(“张三”),nm2(“李四”); nm2 = nm1; 赋值运算符必须被重载成成员函数 若类中未重载赋值运算符,该类的对 象之间也可以互相赋值,但完成的是 位对位(或成员对成员)的赋值,与浅拷 贝的情况类似
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有