为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[资料]c 运算符重载赋值运算符

2017-11-25 4页 doc 15KB 8阅读

用户头像

is_977556

暂无简介

举报
[资料]c 运算符重载赋值运算符[资料]c 运算符重载赋值运算符 C++运算符重载赋值运算符 文章来源:PConline 作者:管宁 自定义类的赋值运算符重载函数的作用与内置赋值运算符的作用类似,但是要要注意的是,它与拷贝构造函数与析构函数一样,要注意深拷贝浅拷贝的问题,在没有深拷贝浅拷贝的情况下,如果没有指定默认的赋值运算符重载函数,那么系统将会自动提供一个赋值运算符重载函数。 赋值运算符重载函数的定义与其它运算符重载函数的定义是差不多的。 下面我们以实例说明如何使用它,代码如下: //程序作者:管宁 //站点:www.cndev-lab.com...
[资料]c  运算符重载赋值运算符
[资料]c 运算符重载赋值运算符 C++运算符重载赋值运算符 文章来源:PConline 作者:管宁 自定义类的赋值运算符重载函数的作用与内置赋值运算符的作用类似,但是要要注意的是,它与拷贝构造函数与析构函数一样,要注意深拷贝浅拷贝的问题,在没有深拷贝浅拷贝的情况下,如果没有指定默认的赋值运算符重载函数,那么系统将会自动提供一个赋值运算符重载函数。 赋值运算符重载函数的定义与其它运算符重载函数的定义是差不多的。 下面我们以实例说明如何使用它,代码如下: //程序作者:管宁 //站点:www.cndev-lab.com //所有稿件均有版权,如要转载,请务必著名出处和作者 #include using namespace std; class Internet { public: Internet(char *name,char *url) { Internet::name = new char[strlen(name)+1]; Internet::url = new char[strlen(url)+1]; If(name) { strcpy(Internet::name,name); } if(url) { strcpy(Internet::url,url); } } Internet(Internet &temp) { Internet::name=new char[strlen(temp.name)+1]; Internet::url=new char[strlen(temp.url)+1]; if(name) { strcpy(Internet::name,temp.name); } if(url) { strcpy(Internet::url,temp.url); } } ~Internet() { delete[] name; delete[] url; } Internet& operator =(Internet &temp)//赋值运算符重载函数 { delete[] this->name; delete[] this->url; this->name = new char[strlen(temp.name)+1]; this->url = new char[strlen(temp.url)+1]; if(this->name) { strcpy(this->name,temp.name); } if(this->url) { strcpy(this->url,temp.url); } return *this; } public: char *name; char *url; }; int main() { Internet a("中国软件开发实验室","www.cndev-lab.com"); Internet b = a; //b对象还不存在~所以调用拷贝构造函数~进行构造处理。 cout<
/
本文档为【[资料]c 运算符重载赋值运算符】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索