- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计PPT第8章多态性
第八章 多态性;本章主要内容;多态性的概念;问题举例——复数的运算;问题举例——复数的运算;运算符重载的实质;运算符重载;两种形式;运算符函数;运算符成员函数的设计;运算符重载;#includeiostream.h
class complex //复数类声明
{
public: //外部接口
complex(double r=0.0,double i=0.0){real=r;imag=i;} //构造函数
complex operator + (complex c2); //+重载为成员函数
complex operator - (complex c2); //-重载为成员函数
void display(); //输出复数
private: //私有数据成员
double real; //复数实部
double imag; //复数虚部
}; ;complex complex::operator +(complex c2) //重载函数实现
{
complex c;
c.real=c2.real+real;
c.imag=c2.imag+imag;
return complex(c.real,c.imag);
};complex complex::operator -(complex c2) //重载函数实现
{
complex c;
c.real=real-c2.real;
c.imag=imag-c2.imag;
return complex(c.real,c.imag);
};void complex::display()
{ cout(real,imag)endl; }
int main() //主函数
{ complex c1(5,4),c2(2,10),c3; //声明复数类的对象
coutc1=; c1.display();
coutc2=; c2.display();
c3=c1-c2; //使用重载运算符完成复数减法
coutc3=c1-c2=;
c3.display();
c3=c1+c2; //使用重载运算符完成复数加法
coutc3=c1+c2=;
c3.display();
};程序输出的结果为:
c1=(5,4)
c2=(2,10)
c3=c1-c2=(3,-6)
c3=c1+c2=(7,14);运算符成员函数的设计;运算符成员函数的设计;例8-2;//8_2.cpp
#includeiostream.h
class Clock //时钟类声明
{
public: //外部接口
Clock(int NewH=0, int NewM=0, int NewS=0);
void ShowTime();
Clock operator ++(); //前置单目运算符重载
Clock operator ++(int); //后置单目运算符重载
private: //私有数据成员
int Hour,Minute,Second;
};;Clock Clock::operator ++() //前置单目运算符重载函数
{ Second++;
if(Second=60)
{ Second=Second-60;
Minute++;
if(Minute=60)
{
Minute=Minute-60;
Hour++;
Hour=Hour%24;
}
}
return *this;
};//后置单目运算符重载
Clock Clock::operator ++(int)
{ //注意形参表中的整型参数
Clock old=*this;
++(*this);
return old;
};//其它成员函数的实现略
int main()
{
Clock myClock(23,59,59);
coutFirst time output:;
myClock.ShowTime();
coutShow myClock++:;
(myClock++).ShowTime();
coutShow ++myClock:;
(++myClock).ShowTime();
};程序运行结果为:
First time output: 23:59:59
Show myClock++: 23:59:59
Show ++myClock: 0:0:1;运
您可能关注的文档
- baidu及google的使用.ppt
- B21工程案例培训_090811.ppt
- b第2章内燃机的工作指标.ppt
- buick在中国建立1个全新的汽车品牌.ppt
- BMC模式讲解_简洁逻辑版.ppt
- B7L_A2班现场5S管理培训.ppt
- C(H)和C(OH_)的计算.ppt
- c(科学用脑、心态调整及考前家长心态).ppt
- c++ 数据类型及表达式.ppt
- C02_数据的存储与运算北航课件.pptx
- “才聚荆楚,智汇天门”天门市2025年人才引进76人笔试备考题库及答案详解1套.docx
- 2025年青岛市体育局所属事业单位招聘工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年鄂尔多斯市委员会机构编制委员会所属事业单位度引进紧缺专业人才笔试高频难、易错点备考题库及参.docx
- 2025年贵州长顺县引进17名高层次和急需紧缺人才笔试高频难、易错点备考题库及参考答案详解.docx
- 上海市荣誉军人疗养院工作人员招聘笔试高频难、易错点备考题库含答案详解.docx
- 中国人民银行金融研究所2024年度公开招聘工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年重庆理工大学招聘16名事业单位工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年贵州毕节市赫章县事业单位招聘123人笔试高频难、易错点备考题库及参考答案详解一套.docx
- 上海市伤骨科研究所2025年招聘5人笔试备考题库及答案详解一套.docx
- 2025年辽宁省委党校(辽宁行政学院、辽宁省社会主义学院)招聘17人笔试备考题库及参考答案详解一套.docx
文档评论(0)