- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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;运
文档评论(0)