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

老太太做受网站合肥网站推广公司

老太太做受网站,合肥网站推广公司,怎么做业务网站,网站建设运营公司推荐运算符重载 重定义或重载大部分 C 内置的运算符就能使用自定义类型的运算符。重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。不能为了重载而重…

运算符重载

重定义或重载大部分 C++ 内置的运算符就能使用自定义类型的运算符。重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。不能为了重载而重载     重载之后的运算符和原来的使用方式特性一模一样

可重载的运算符列表

双目算术运算符	+ (加),-(减),*(乘),/(除),% (取模)关系运算符	==(等于),!= (不等于),< (小于),> (大于),<=(小于等于),>=(大于等于)逻辑运算符	||(逻辑或),&&(逻辑与),!(逻辑非)单目运算符	+ (正),-(负),*(指针),&(取地址)自增自减运算符	++(自增),--(自减)位运算符	| (按位或),& (按位与),~(按位取反),^(按位异或),,<< (左移),>>(右移)赋值运算符	=, +=, -=, *=, /= , % = , &=, |=, ^=, <<=, >>=空间申请与释放	new, delete, new[ ] , delete[]其他运算符	()(函数调用),->(成员访问),,(逗号),[](下标)

不可重载的运算符列表

.              :成员访问运算符
->           :成员指针访问运算符
::            :域运算符
sizeof    :长度运算符
?:          :条件运算符
#           : 预处理符号

+ - 两个运算符的重载

#include <iostream>using namespace std;class dog 
{private:int weight ;string name;public://构造函数dog(string name , int weight){this->name = name ;this->weight = weight ;}//拷贝构造dog(const dog & obj){this->name = obj.name;this->weight = obj.weight;}//移动dog(const dog && obj){this->name = obj.name;this->weight = obj.weight;}//析够函数~dog(){}//+两只狗体重之和dog & operator +(const dog & obj ){static dog temp(" ",1);temp.weight = this->weight + obj.weight;temp.name = this->name + "和" + obj.name;return temp;}//-两只狗体重之差dog & operator -(const dog & obj ){static dog temp(" ",1);temp.weight = this->weight - obj.weight;temp.name = this->name + "和" + obj.name+"体重相差";return temp;}friend ostream & operator <<(ostream & os , dog & obj );};//输出<<重载
ostream & operator <<(ostream & os , dog & obj )
{os<<"名字:"<<obj.name<<endl<<"体重:"<<obj.weight<<endl;return os;
}int main()
{dog g1("土狗🐶",25);dog g2("小狗🐶",26);cout<<g1<<g2;cout<<g1+g2;cout<<g2-g1;return 0;
}

运行结果:
在这里插入图片描述


其他运算符实例代码

#include <iostream>
#include <cstring>using namespace std;class Arr
{private:char * arr;int len ;int size;public://构造Arr(char * str){len = strlen(str);size = len+1;arr = new char[size];strcpy(arr,str);}//拷贝构造🐶Arr(Arr & obj){arr = new char[obj.size];len = obj.len;size = obj.size;strcpy(arr,obj.arr);}//🐣移动构造🐶Arr(Arr && obj ){len = obj.len;size = obj.size;arr = obj.arr;obj.arr = nullptr;}//+=重载:两个字符串连接Arr & operator +=(const Arr &obj){if(obj.len + this->len > this->size ){char * p = new char[obj.len+len+1];strcpy(p,arr);delete []arr;arr = p ;p = nullptr;size = obj.len+len+1;}strcat(arr,obj.arr);len = len + obj.len ;return *this;}//= 实现字符串复制功能🐮Arr & operator =(const Arr &obj){if(obj.len > size ){char *p = new char[obj.size];strcpy(p,obj.arr);arr = p ;p = nullptr;size = obj.size;}else{strcpy(this->arr,obj.arr);}len = obj.len;return *this;}//[] 🏇char & operator [](const int i ){   return arr[i];}//()🦆void operator ()(){cout<<"hello new ()"<<endl;}friend ostream & operator <<(ostream & os , const Arr & obj);friend istream & operator >>(istream & is , const Arr & obj );};ostream & operator <<(ostream & os , const Arr & obj)
{os<<"data:"<<obj.arr<<endl<<"len ="<<obj.len<<endl<<endl<<"size="<<obj.size<<endl;return os;}istream & operator >>(istream & is , const Arr & obj )
{is>>obj.arr;return is;
}
int main()
{char buf[] = {"n牛🐮"};char buf1[] = {"m马🏇"};Arr a = buf;Arr b = buf1;cout<<a<<endl;a +=b;cout<<a<<endl;a=b;cout<<a<<endl;a[0]= 't';cout<<a<<endl;a();cin>>a;cout<<a<<endl;}
http://www.mmbaike.com/news/73936.html

相关文章:

  • 现在流行用什么做网站推广普通话手抄报简单又好看内容
  • 重庆做网站怎么做seo优化在线
  • 大学生做兼职上什么网站好广州网络推广哪家好
  • 聊城市建设局网站海外推广平台有哪些?
  • 企业网络营销网站设计网络营销是做什么
  • 安阳百度网站制作多少钱搜狗链接提交入口
  • 广西城市建设学校学生网站seo自动工具
  • 天津网站建设开发有哪些成都广告公司
  • 网站提交搜索引擎google服务框架
  • wordpress安装mysql上海网站排名优化
  • 南宁 做网站石家庄seo培训
  • 四川省城乡建设部网站首页郑州seo网站管理
  • 网站优化自已做还是请人做全国新冠疫苗接种率
  • 视频网站开发java百度推广的优化软件
  • 济南经三路专业做网站北京网站seo设计
  • php做网站页面在哪做精准获客
  • 公司网站优化短视频获客系统
  • 个体工商户能够做经营性网站吗广告投放平台都有哪些
  • 网站建设需要些什么设备seo相关岗位
  • 做网站卖多少钱一个尚硅谷培训机构官网
  • 本科自考报名郑州企业网站优化排名
  • 手机交互网站谷歌推广开户多少费用
  • 手机站喝茶影视推广软件赚钱违法吗
  • 大连网站开发师视频营销模式有哪些
  • 商城网站制作深圳网站制作宁波seo营销
  • 一个外国设计网站网址小网站关键词搜什么
  • 怎样免费建个人网站企业网站推广技巧
  • 做外贸的网站看啥书chrome官方下载
  • 青岛九二网络科技有限公司杭州专业seo
  • 网站首页的提交怎么做优化设计英语