《c++程序设计》电子教案第7章 运算符重载

《c++程序设计》电子教案第7章 运算符重载

ID:19637809

大小:224.50 KB

页数:57页

时间:2018-10-04

《c++程序设计》电子教案第7章  运算符重载_第1页
《c++程序设计》电子教案第7章  运算符重载_第2页
《c++程序设计》电子教案第7章  运算符重载_第3页
《c++程序设计》电子教案第7章  运算符重载_第4页
《c++程序设计》电子教案第7章  运算符重载_第5页
资源描述:

《《c++程序设计》电子教案第7章 运算符重载》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章运算符重载7.1运算符重载概述7.2运算符重载的实现7.3一元运算符重载7.4二元运算符重载7.5特殊运算符重载7.1运算符重载概述运算符重载是对已有的运算符赋予多重含义,同一个运算符作用于不同类型的数据导致不同类型的行为。运算符重载的实质就是函数重载。在实现过程中,首先把指定的运算表达式转化为对运算符函数的调用,运算对象转化为运算符函数的实参,然后根据实参的类型来确定需要调用的函数,这个过程是在编译过程中完成的。返回首页表7-1C++可以重载的运算符表7-2C++不能被重载的运算符运算符重载的规则如下:(1)C++中的运算符

2、除了少数几个以外,全部可以重载,而且只能重载已有的这些运算符。(2)重载之后运算符的优先级和结合性都不会改变。(3)运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造。返回本节7.2运算符重载的实现运算符的重载形式有两种:重载为类的成员函数和重载为类的友元函数。运算符重载为类的成员函数的语法形式如下:<函数类型>operator<运算符>(<形参表>){<函数体>;}运算符重载为类的友元函数的语法形式如下:friend<函数类型>operator<运算符>(<形参表>){<函数体>;}返回首页例7-1:以成员函数重载运

3、算符重载两字符串加法。#include#includeclassString{charname[256];public:String(char*str){strcpy(name,str);}String(){}~String(){}Stringoperator+(constString&);voiddisplay(){cout<<"Thestringis:"<

4、a){strcpy(str,name);strcat(str,a.name);returnString(str);}voidmain(){str=newchar[256];Stringdemo1("Visualc++");Stringdemo2("6.0");demo1.display();demo2.display();Stringdemo3=demo1+demo2;demo3.display();Stringdemo4=demo3+"Programming.";demo4.display();deletestr;}此程序的运行结

5、果为:Thestringis:VisualC++Thestringis:6.0Thestringis:VisualC++6.0Thestringis:VisualC++Programming.例7-2:下面程序定义一个Time类用来保存时间(时、分、秒),通过重载操作符“+”实现两个时间的相加。#includeclassTime{public:Time(){hours=0;minutes=0;seconds=0;}//无参构造函数Time(inth,intm,ints)//重载构造函数{hours=h;min

6、utes=m;seconds=s;}Timeoperator+(Time&);//操作符重载为成员函数,返回结果为Time类voidgettime();private:inthours,minutes,seconds;};TimeTime::operator+(Time&time){inth,m,s;s=time.seconds+seconds;m=time.minutes+minutes+s/60;h=time.hours+hours+m/60;Timeresult(h,m%60,s%60);returnresult;}voidT

7、ime::gettime(){cout<classTime{public:Time(){hours=0;minutes=0;seconds=0;}//无参构造函数Time(inth,intm,in

8、ts)//重载构造函数{hours=h;minutes=m;seconds=s;}friendTimeoperator+(Time&,Time&);//重载运算符为友元函数形式voidgettime();private:inthour

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。