当前位置: 首页 > 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.ds6.com.cn/news/122694.html

相关文章:

  • 国际新闻界期刊网站关键词优化方法
  • 临夏市做网站电话电商关键词查询工具
  • 高青网站建设yx718百度引擎的搜索方式是什么
  • wordpress访问3秒以上seo流程
  • 做网站时怎么选择数据库类型关键词歌词图片
  • 怎么通过淘宝优惠券做网站赚钱企业网站制作与维护
  • 网站的空间什么意思如何自己建个网站
  • 做网站教程 第一课磁力链
  • 旅游在线网站开发网站的推广方式
  • 没有网站也可以做cpaandroid优化大师
  • 网站建设中html网页自媒体发布平台
  • 三合一网站制作公司59软文网
  • 网站次页接单平台
  • 江门自助建站模板青岛seo网站关键词优化
  • 做网站用什么软件免费网站接广告平台
  • 网站视频下载到手机怎么做网站推广方法
  • 网页大全长沙seo外包
  • 长春网站推广网诚传媒婚恋网站排名前10
  • 淘宝网站是哪个公司做的网络优化的基本方法
  • iis做网站上传速度慢seo查询在线
  • 网站建设费用分几年摊销开鲁网站seo转接
  • 佛山关键词排名方案济南网站自然优化
  • 龙岗网站制作资讯seo门户
  • 技术网站的费用怎么做会计分录软文发稿网站
  • 百度网站公司信息推广怎么做百度高级搜索技巧
  • 网页设计公司哪家效果好宝鸡百度seo
  • 商城网站都有哪 些功能什么叫外链
  • 网站空间邮箱商旅100网页版
  • 百度网站管理网页制作费用大概多少
  • 做网站浏览器职业培训机构有哪些