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

建设部网站官网 施工许可企业qq官网

建设部网站官网 施工许可,企业qq官网,网站开发需要学数学吗,武夷山景区网站建设优点归纳编程学习的感悟#xff0c; 记录奋斗路上的点滴#xff0c; 希望能帮到一样刻苦的你#xff01; 如有不足欢迎指正#xff01; 共同学习交流#xff01; #x1f30e;欢迎各位→点赞 #x1f44d; 收藏⭐ 留言​#x1f4dd; 身先才能率人#xff0c;律己才能服人… 归纳编程学习的感悟 记录奋斗路上的点滴 希望能帮到一样刻苦的你 如有不足欢迎指正 共同学习交流 欢迎各位→点赞 收藏⭐ 留言​ 身先才能率人律己才能服人 一起加油 目录 一、运算符重载规则 二、运算符重载为成员函数  例复数类乘法运算重载为类的成员函数 。 说明 三、运算符重载为友元函数 例运算符重载为类的友元函数实数与复数的加减运算。  一、运算符重载规则 运算符重载规则说明如下。 (1)运算符重载的实质是函数重载可以对大部分的运算符进行重载这是 C的重要特C编译器根据参数个数和类型来决定调用哪个函数重载同一个运算符可以定义几个运算符重载函数来进行不同的操作。运算符重载返回类型可以是任意的通常与操作数类型相同。        (2)重载后的运算符所做的操作要尽量保持原来的意义否则会降低程序的可读性。        (3)C中用户不能定义新的运算符只能对已有的运算符进行重载。有六个运算符不能重载:成员访问运算符“.”成员指针运算符“-”和“*”作用域运算符“::”sizeof运算符和三目运算符“?:”        (4)重载运算符与预定义运算符的使用方法完全相同它不能改变原来运算符的参数个数也不能改变其优先级。 实现运算符重载是通过 operator 关键字实现的运算符重载一般可以通过类的成员函数和类的友元函数来实现。 二、运算符重载为成员函数  运算符重载为类的成员函数后作为类的成员函数它可以任意访间类中的私有成员。在实际使用时类中的成员函数总是通过该类的对象来访问的如果是双目运算符左操作数一定是访问成员函数的对象本身另一个操作数通过运算符重载函数的参数表来传递;如果是单目运算符操作数就是访问成员函数的对象本身不需要再传递任何参数。 例复数类乘法运算重载为类的成员函数 。 #includeiostream using namespace std; class complex{private://私有接口 double real,image;public://公有接口 complex(double r0.0,double i0.0):real(r),image(i){ }~complex(){ }complex operator*(const complex c)const;//定义两个复数乘法运算 complex operator*(const double c)const;//定义复数与实数的乘法运算 void print()const; }; void complex::print()const {cout(real,image)endl; } complex complex::operator*(const complex c)const {return complex(real*c.real-image*c.image,real*c.imageimage*c.real); } complex complex::operator*(const double c)const {return complex(real*c,image*c); } int main() {complex c1(3,4),c2(7,8),c3;c3c2*c1;coutc2:;c2.print();coutc1;c1.print();coutc2*c1;c3.print();c3c2*5.0;coutc2*5.0;c3.print();return 0; } 说明 在本例中将复数的乘法重载为复数类的成员函数由于复数可以与另一个复数进行乘法运算也可以和另一个实数进行乘法运算因此这里重载了两种形式。运算符重载为成员函数除函数名称必须使用 operator运算符之外其他与普通成员函数没有什么区别。在使用时可以采用成员函数调用的方式也可以采用直接通过运算符对复杂操作数操作的方式。重载后的运算符原有的功能不受影响。因此相同的运算符作用于不同的对象就会导致不同的操作行为从而体现了C的多态性。  三、运算符重载为友元函数 友元函数是类的“朋友”它可以自由地访问类的所有成员。与重载为类的成员函数不同当运算符重载为类的友元函数时由于友元是外部函数不存在对象调用它因此运算符所需要的操作数都需要通过函数的形参来传递形参参数表中参数从左至右的顺序就是运算符操作数的顺序。 例运算符重载为类的友元函数实数与复数的加减运算。  #includeiostream using namespace std; class complex{ private:double real,image; public:complex(double r0.0,double i0.0):real(r),image(i){ }~complex(){ };friend complex operator (double c1, const complex c2);friend complex operator-(double c1,const complex c2);void print()const; }; void complex::print()const {cout(real,image)endl; } complex operator (double c1,const complex c2) {return complex(c1c2.real, c2.image); }complex operator- (double cl,const complex c2) {return complex(cl-c2.real,-c2.image); } int main() {complex c1(3,4),c2;c24c1;cout4;c1.print();cout结果为:; c2.print();c24-c1;cout4-;c1.print();cout结果为:;c2.print();return 0; } 运算符重载的一般规律有如下几点。 (1)运算符既可以重载为类的成员函数也可以重载为类的友元函数。        (2)对于双目运算符重载为类的成员运算符函数有一个参数重载为类的友元运算符函数带有两个参数;对于单目运算符重载为成员运算符函数不带参数重载为类的友元运算符数带有一个参数。        (3)目运算符一般可以被重载为友元运算符函数或成员运算符函数如果第一个操作数是基本数据类型则必须使用友元:、( )、[ ]只能重载为类的成员函数;、-、/、!、~、%、、 建议重载为成员函数;其他双目运算符建议重载为友元函数。   以上就是我对C多态性——(5)运算符重载第二节的理解希望本篇文章对你有所帮助也希望可以支持支持博主后续博主也会定期更新学习记录记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴请在评论区说出来哦同时我还会继续更新对C多态性的理解请持续关注我哦
http://www.w-s-a.com/news/402530/

相关文章:

  • 苏州集团网站制作设计网页制作软件ai
  • 网站建设新手教程视频教程手帐风格wordpress主题
  • 做投标网站条件网站更改指定字段
  • mvc5 网站开发之美做印刷网站公司
  • 医疗网站建设精英微信网站用什么制作的
  • 银川网站设计联系电话地推加人2元1个
  • 龙华网站 建设深圳信科北京知名的网站建设公司
  • 怎么做qq刷赞网站搜盘 资源网
  • 微网站怎么做的好名字吗陕西省医院网站建设管理
  • 泉州seo-泉州网站建设公司温州企业自助建站系统
  • 网站建设属于什么费网站建设网络推广
  • 德州网站开发人员网站怎么才能被百度收录
  • wordpress网站怎么加小游戏乐山网站制作公司
  • 企业购 网站建设做兼职有哪些网站
  • 湖州网站做等保费用大型网站建站
  • 优创智汇高端网站建设网站设计工作流程
  • 什么网站可以学做西餐个人网站怎么做支付功能
  • 千户微建站平台做网站需要切图吗
  • 织梦cms 学校网站模板网站建设中的问题
  • 山东济南网站建设公司制作wordpress模板教程视频教程
  • 档案网站的建设怎样更新网站内容
  • 网站开发项目规划房地产趋势与前景
  • 网上网站开发这个百度的网站怎么做的
  • 南昌市建设局官方网站网龙网络公司地址
  • 自助建站平台源码公司网站谁负责做
  • 旅游的网站怎么做网站流量的主要来源有
  • 高新网站设计找哪家网络科技有限公司实习报告
  • 专业网站建设质量推荐网络销售是做网站推广
  • 旅游网站建设模板wordpress最好最全的教程
  • 网站站长在哪登陆后台网站设计一年费用