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

深圳建站公司兴田德润电话多少又拍云cdn WordPress

深圳建站公司兴田德润电话多少,又拍云cdn WordPress,学网站设计和平面设计,拉新推广怎么做前言 运算符重载的概念: 对已有的运算符重新进行定义,赋予其另外一种功能,以适应不同的数据类型 加号运算符重载 作用:定义两个自定义的数据类型相加的运算 正常情况下,如果想要实现类中两个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/974123/

相关文章:

  • 微擎可以做网站吗鲜花商城网站模板
  • 一般设计网站页面用什么软件搜狗网站提交入口
  • 算命购物网站建设小程序免费制作平台源码
  • 天元建设集团有限公司第一建筑工程公司南宁网站关键字优化
  • 免费自己怎么注册网站江苏品牌网站建设
  • 做平面vi网站浙江省建设政务网站
  • 深圳做微信网站设计宝应县网络推广公司
  • 网站运营策略专做艺术圈的网站
  • 宁波企业网站搭建图片seo优化在哪里学
  • 网站怎样恶意刷南昌企业网站开发公司
  • 企业网站建设飞沐怎样网上销售自己的产品
  • 河南城源建设工程有限公司网站天津建设工程注册中心网站
  • 海沧区建设局网站市政处贵阳网络推广公司有哪些
  • 定制专业网站微分销商城开发
  • 如何做地方网站wordpress后台制作
  • 网站开发需要多长时间如何查询网站的注册信息查询
  • 建设一个公司网站多少钱最新淘宝客网站程序
  • 腾讯云学生怎么做网站的重庆市工程建设信息网中项网
  • 300网站建设企业宣传片制作公司天津
  • 网站网页宽度多少合适一个完整的网站 技术
  • 果洛州公司网站建设数据库性质的网站怎么做
  • php制作电影网站网站一个月
  • 新兴县城乡建设局网站wordpress 4.2.5
  • 自己的电脑做服务器搭建网站做网站的哪家比较好
  • 网站开发前台怎么样东莞有哪些大公司
  • 网站建设公司如何生存如何做网络营销能成功呢
  • 正规的培训行业网站制作跨境电商网站系统开发
  • 上海建设银行招聘网站网络推广需要什么
  • html如何做网站天津市装修公司排名榜
  • 国家icp备案网站网站设计公司网站设计公司