当前位置: 首页 > news >正文

三明商城网站开发设计太仓建设网站

三明商城网站开发设计,太仓建设网站,网站 开发 价格,东莞学习网站建设4.5.4 赋值运算符重载 c编译器至少给一个类添加4个函数 默认构造函数(无参,函数体为空) 默认析构函数(无参,函数体为空) 默认拷贝构造函数,对属性进行值拷贝 赋值运算符 operator, 对属性进行值拷贝 如果类中有属性指向堆区,做…
4.5.4 赋值运算符重载

c++编译器至少给一个类添加4个函数

  1. 默认构造函数(无参,函数体为空)

  2. 默认析构函数(无参,函数体为空)

  3. 默认拷贝构造函数,对属性进行值拷贝

  4. 赋值运算符 operator=, 对属性进行值拷贝

如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝问题

/*c++编译器至少给一个类添加4个函数
1. 默认构造函数(无参,函数体为空)
2. 默认析构函数(无参,函数体为空)
3. 默认拷贝构造函数,对属性进行值拷贝
4. 赋值运算符 operator=, 对属性进行值拷贝
如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝问题
**作用:**重载关系运算符,可以让两个自定义类型对象进行对比操作
*/class Person
{
public:Person(int age) {//将年龄数据开辟到堆区m_Age = new int(age);};//重载赋值运算符Person& operator=(Person& p) {//先判断是否有属性在堆区,如果有先释放干净,然后再进行深拷贝if (m_Age != NULL){delete m_Age;m_Age = NULL;}//提供深拷贝 解决浅拷贝的问题m_Age = new int(*p.m_Age);//返回自身return *this;}~Person(){if (m_Age != NULL){delete m_Age;m_Age = NULL;}}//年龄的指针int* m_Age;
};void test01() {Person p1(10);Person p2(20);Person p3(30);p3 = p2 = p1;cout << "p1的年龄为:" << *p1.m_Age << endl;cout << "p2的年龄为:" << *p2.m_Age << endl;cout << "p3的年龄为:" << *p3.m_Age << endl;
}int main() {test01();system("pause");return 0;
}

http://www.dtcms.com/a/599010.html

相关文章:

  • 电子销售网站报表模块如何做济南润尔网站建设技术公司
  • 域通联达网站网站建设怎样推广
  • wordpress全站启用ssl佛山网络优化推广公司
  • mips简单栈溢出
  • 青岛正规品牌网站制作策划wordpress foxpay
  • 傻瓜式网页制作网站设计制作费的税收编码
  • C语言 数组
  • 东阳实惠营销型网站建设厂家上海网站设计与开发公司
  • 公司网站制作导航西安百度seo
  • C 语言文件读写初探:打开数据之门 [特殊字符]
  • AI Agent 从入门到精通:概念、架构与实战应用
  • 官方网站优化价格免费网站模板 html
  • 免费建网站哪个好陕西网络推广网站
  • PHP中对于(并发/并行)相关概念
  • 江西网站做的好的企业移动端网站没有icp
  • 建设工程报建备案网站dedecms源码下载
  • 金富通青岛建设工程有限公司网站网站开发工程师月薪平均
  • Linux DNS域名解析服务器练习
  • 网站开发可选择方案有哪些网站开发网页设计js
  • Linux:内核地址随机化(Kaslr)
  • 百度怎么制作网站教程做瞹瞹网站
  • 金科科技 做网站作图神器
  • 顺德手机网站设计信息最牛的网站建
  • 企业网站seo数据做网站维护学什么编程语言
  • Linux下的项目自动化构建-make\makefile详解
  • 闵行区网站开发网站开发总体设计
  • 氧os哪个网站做的最好杭州互联网企业
  • 开课吧前端面试训练营
  • 宜春网站开发可以做c语言任务的网站
  • 青岛网站权重提升为什么不建议去外包公司