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

西安网页制作培训机构廊坊seo排名优化

西安网页制作培训机构,廊坊seo排名优化,广东省住房和城乡建设厅,赣州专业做网站前言 运算符重载的概念: 对已有的运算符重新进行定义,赋予其另外一种功能,以适应不同的数据类型 加号运算符重载 作用:定义两个自定义的数据类型相加的运算 正常情况下,如果想要实现类中两个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.zhongyajixie.com/news/25083.html

相关文章:

  • 北京个人网站建设多少钱seo评测论坛
  • 那个网站百度收录快苏州百度快照优化排名
  • 温州哪家做网站百度云网站入口
  • 网站制作价格情况百度页面
  • 虎门网站建设推广论坛seo招聘
  • 2345浏览器免费版百度seo工作室
  • 免费生成网页的网站企业宣传推广
  • 山东企业网站建设百度咨询电话 人工客服
  • 网站开发流程步骤关键词优化课程
  • 自己做的网站打不开了seo营销方案
  • 网上那个网站做席子批发谷歌搜索引擎免费入口 台湾
  • 利用已有网站 制作悟空建站seo服务
  • 网站公安局备案 所需要的材料查询网站流量的网址
  • 做网站为职业生存不下去seo基础入门免费教程
  • 网站推广打包关键词排名优化系统
  • 广水网站建设北京网站优化公司哪家好
  • 如何做的网站手机可以用南京seo网站优化
  • 产教融合信息门户网站建设方案企业网页设计与推广
  • 一站式网站上海网站排名推广
  • 网站制作案例市场搜索百度网址网页
  • 做线上交互的网站网站流量统计分析工具
  • 做网站最主要上海百度竞价
  • 郑州做网站的多不多搜索引擎优化报告
  • 网站加入联盟哪些网站是营销型网站
  • 外贸网站如何建站近10天的时事新闻
  • 做网站的步骤的文本百度竞价入口
  • 北京的网站建设公司seo关键词排名优化费用
  • wordpress收录温州seo教程
  • 南宫建设局网站首页今日新闻 最新消息 大事
  • 住房和城乡建设岗位评定网站站长工具樱花