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

宏大建设集团有限公司网站今天河北沧州确诊名单

宏大建设集团有限公司网站,今天河北沧州确诊名单,白银做网站,使用div建设的网站.5 运算符重载 运算符重载概念#xff1a;对已有的运算符重新进行定义#xff0c;赋予其另外一种功能#xff0c;以适应不同的数据类型 4.5.1 加号运算符重载 作用#xff1a;实现两个自定义数据类型相加的运算 1 #includeiostream2 using namespace std;3 /….5 运算符重载 运算符重载概念对已有的运算符重新进行定义赋予其另外一种功能以适应不同的数据类型 4.5.1 加号运算符重载 作用实现两个自定义数据类型相加的运算 1 #includeiostream2 using namespace std;3 //加号运算符重载4 class Person5 {6 public:7 //成员函数重载号8 Person operator(Person p)9 {10 Person temp;11 temp.m_A p.m_A this-m_A;12 temp.m_B p.m_B this-m_B;13 return temp;14 }15 int m_A;16 int m_B;17 };18 19 //全局函数重载20 Person operator(Person p1,Person p2)21 {22 Person temp;23 temp.m_A p1.m_A p2.m_A;24 temp.m_B p1.m_B p2.m_B;25 return temp;26 }27 void test01()28 {29 Person p1;30 p1.m_A 10;31 p1.m_B 10;32 Person p2;33 p2.m_A 10;34 p2.m_B 10;35 36 Person p3 p1 p2;37 //成员函数重载的本质38 Person p3 p1.operator(p2);39 //全局函数重载的本质40 Person p5 operator(p1,p2);41 cout p3.m_A p3.m_Bendl;42 }43 //1.成员函数重载号44 int main(int argc, const char *argv[])45 {46 test01();47 return 0;48 } 4.5.2 左移运算符重载 ​​ 1 #includeiostream2 using namespace std;3 4 //左移5 class Person6 {7 public:8 //内置重载函数 左移运算符9 //实现不了10 int m_A;11 int m_B;12 };13 14 //全局重载函数15 void operator(ostream cout ,Person p)16 {17 cout m_A p.m_A m_B p.m_B endl;18 }19 20 void test01()21 {22 Person p;23 p.m_A 10;24 p.m_B 10;25 26 cout p.m_A endl;27 }28 int main(int argc, const char *argv[])29 {30 test01();31 return 0;32 } ​​ 4.5.3递增运算符重载 作用通过重载递增运算符实现自己的整型数据 #includeiostreamusing namespace std;​class Myinterger{friend ostream operator(ostream cout,Myinterger myint);public://重载前置函数//返回引用是为了一直对一个数据进行递增操作Myinterger operator(){m_Num;return *this;}​//重载后置函数//int 是占位参数Myinterger operator(int){//先记录当时结果Myinterger temp *this;m_Num;return temp;}Myinterger(){m_Num 0;}private:int m_Num;};//重载运算符ostream operator(ostream cout,Myinterger myint){cout myint.m_Num;return cout;}​void test01(){Myinterger myint;myint;cout myint endl;}​int main(int argc, const char *argv[]){test01();return 0;} ​ 4.5.4 赋值运算符重载 1.编译器至少给一个类添加4个函数 默认构造函数无参函数为空 默认析构函数无参函数为空 默认拷贝构造函数对属性进行值拷贝 赋值运算符 operator,对属性进行值拷贝 如果类中有属性指向堆区做赋值操作时会出现深浅拷贝问题 #includeiostreamusing namespace std;​class Person{public://等号重载函数Person operator(Person p){//实现浅拷贝//先判断是否有属性在堆区先释放在深拷贝if (m_age ! NULL){delete m_age;m_age NULL;}m_age new int(*p.m_age);return *this;}Person(int age){m_age new int(age);}​int *m_age;​~Person(){if (m_age ! NULL){delete m_age;}}};​​void test01(){Person p1(18);Person p2(12);p2 p1;cout p1的年龄为*p1.m_ageendl;cout p1的年龄为*p2.m_ageendl;}​int main(int argc, const char *argv[]){test01();return 0;}​ 4.5.5 关系运算符重载 作用重载关系运算符可以让两个自定义类型对象进行对比操作 #includeiostream#includestringusing namespace std;class Person{public://重载bool operator(Person p){if (m_name p.m_name m_age p.m_age){return true;}return false;}Person(string name , int age){m_name name;m_age age;}private:string m_name;int m_age;};​void test01(){Person p1(zyl,18);Person p2(zyl,18);bool b (p1p2);cout b   endl;​}​int main(int argc, const char *argv[]){test01();return 0;} 4.5.6 函数调用运算符重载 函数调用运算符()也可以重载 由于重载后使用的方式非常想函数的调用因此也成为仿函数 仿函数你没有固定写法非常灵活 #includeiostream#includestringusing namespace std;​class MyPrint{public:void operator()(string text){cout text endl;}};​void test01(){MyPrint mp;mp(hello);//仿函数}​int main(int argc, const char *argv[]){test01();return 0;}​
http://wiki.neutronadmin.com/news/2959/

相关文章:

  • 搜索引擎如何找到网站网站开发开发的前景
  • 上海公司建设网站单位网站建设要记入无形资产吗
  • 做房产网站赚钱吗济南智能网站建设费用
  • 网站建设 市场规模大型国有企业网站建设
  • 外贸公司有必要建设网站吗免费网站建设策划
  • 网站是否需要备案电商运营网站 建设
  • 外贸那些网站好用国外企业合作的网站
  • 黔南州建设局网站做微信首图的网站
  • 做全国社保代理的网站公司网站注册要多少钱
  • 网站制作方案专业乐云seo海南创作什么网站
  • 团购网站模板下载微信手机网页登录入口
  • 东莞网站设计资讯网站开发目的
  • 建设网站公司怎么收费惠州制作网站软件
  • 新网站上线 怎么做seo做华为网站的还有哪些
  • 昆明网站建设天猫运营网站开发实战
  • 北京市建设厅官方网站百度人工优化
  • 企业网站在线留言熟悉免费的网络营销方式
  • 高端企业网站制作做网站的劣势
  • 做一个网站需要怎么做网站建设没业务
  • 做ps兼职的网站wordpress 手动上传主题
  • 重庆住建厅网站官网前端vue低代码开发平台
  • 网站版本功能列表成都网站建设公司排名
  • 电商网站建设公司网页设计要用到什么软件
  • 爱看视频的网站陕西省建设厅
  • 共创福州网站建设网站的建设书籍
  • seo网站优化推广怎么样免费的ppt网站推荐
  • 全屋家具定制价格表wordpress 中文seo
  • 1个服务器可以做多少个网站学平面设计要多少钱
  • 建设网站的公司要什么资质吗wordpress清新主题
  • 游艇网站建设方案南和网站建设公司太原网站建设