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

哪个网站收录排名好谷歌优化师

哪个网站收录排名好,谷歌优化师,北京营销公司比较好的,四川城乡和住房建设厅网站首页前言 运算符重载的概念: 对已有的运算符重新进行定义,赋予其另外一种功能,以适应不同的数据类型 加号运算符重载 作用:定义两个自定义的数据类型相加的运算 正常情况下,如果想要实现类中两个int 类型的相加&#xf…

前言

运算符重载的概念:
对已有的运算符重新进行定义,赋予其另外一种功能,以适应不同的数据类型

加号运算符重载

作用:定义两个自定义的数据类型相加的运算

正常情况下,如果想要实现类中两个int 类型的相加,可以参考下面的代码

#define CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;class Person
{
public:Person(int x, int y){m_A = x;m_B = y;}// 修改为返回引用Person& add(const Person& p){m_A += p.m_A;m_B += p.m_B;return *this;}void print(){cout << "m_A: " << m_A << endl;cout << "m_B: " << m_B << endl;}
private:int m_A;int m_B;
};int main()
{Person A(1, 1);Person B(2, 2);// 使用赋值操作符初始化 cPerson c = A.add(B);c.print();return 0;
}

但是上面的代码的话A 和 c 共同使用同一个地址

看看下面的运算符重载

#define CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;class Person
{
public:void print(){cout << "m_A: " << m_A << endl;cout << "m_B: " << m_B << endl;}int m_A;int m_B;
};Person operator+(Person& p1, Person& p2)
{Person tmp;tmp.m_A = p1.m_A + p2.m_A;tmp.m_B = p1.m_B + p2.m_B;return tmp;}int main()
{Person A;A.m_A = 1;A.m_B = 1;Person B;B.m_A = 2;B.m_B = 2;// Person C = A + B;   这种方式和下面的是等价的Person C = operator+(A, B);C.print();return 0;
}

下面展示成员函数来实现运算符重载

#define CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;class Person
{
public:Person operator+(Person& p1){Person tmp;tmp.m_A = p1.m_A + this->m_A;tmp.m_B = p1.m_B + this->m_B;return tmp;}void print(){cout << "m_A: " << m_A << endl;cout << "m_B: " << m_B << endl;}int m_A;int m_B;
};int main()
{Person A;A.m_A = 1;A.m_B = 1;Person B;B.m_A = 2;B.m_B = 2;Person C = A + B;  // 这种方式和下面的是等价的//Person C = A.operator+(B);C.print();return 0;
}

运算符重载 ,也可以实现 类 与 整形的结合

#define CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;class Person
{
public:void print(){cout << "m_A: " << m_A << endl;cout << "m_B: " << m_B << endl;}int m_A;int m_B;
};Person operator+(Person& p1, Person& p2)
{Person tmp;tmp.m_A = p1.m_A + p2.m_A;tmp.m_B = p1.m_B + p2.m_B;return tmp;}// 下面写一个函数重载
Person operator+(Person& p1, int num)
{Person tmp;tmp.m_A = p1.m_A + num;tmp.m_B = p1.m_B + num;return tmp;
}int main()
{Person A;A.m_A = 1;A.m_B = 1;Person B;B.m_A = 2;B.m_B = 2;// Person C = A + B;   这种方式和下面的是等价的//Person C = operator+(A, B);//C.print();Person D = A + 10;D.print();return 0;
}
http://www.yayakq.cn/news/464503/

相关文章:

  • 循化县wap网站建设公司免费的分销小程序
  • 交易猫钓鱼网站制作教学凡客手机网站怎么建设
  • 建设网站去工信部备案需要什么资料德阳网站开发
  • 网站建设策划 流程图唐山石家庄做网站哪家好
  • 邢台精品网站建设购物网站建设需求模板下载
  • 长春网站建设方案咨询硬件开发文档模板
  • 做网站排名要懂那些西安网站有哪些手续费
  • 江阴网站推广网站多久被百度收录
  • 在哪里个网站找专业做ps的人长安网站建设方案
  • 深圳微信网站设计白种女人做爰网站
  • 新鸿儒网站企业只有建立自己的网站
  • 做网站如何防止被黑工商联网站建设方案
  • 直接进网站的浏览器打开内容营销的核心
  • 重庆所有做网站的公司有哪些网站接入商查询
  • 网站建设的公司太多了上海设计招聘网站
  • 南宁网站seo公司男男做爰视频网站
  • 苏州市住房和城乡建设部网站百度医疗网站建设
  • 珠海网络网站建设网站建设图片尺寸要求
  • 动态按钮 wordpress插件连云港seo网站推广
  • 网站建设好做吗图床网站怎么做
  • 赣州网站网站建设高新公司网站建设哪家好
  • 网站后台程序设计常用语言 技术的分析比较哈尔滨模板自助建站
  • 什么网站可以做长图攻略培训学校网站建设
  • 杭州萧山门户网站建设公司浙江嘉兴最新事件
  • 招生平台网站开发国家企业信用信息查询官网
  • 网站建设 教学视频搜狗seo怎么做
  • php网站开发项目经验如何写做的网站必须放
  • 集团网站建设公司企业移动网站制作
  • 网站建设系统公司有网站吗给一个
  • 高港网站建设wordpress5回复后查看