77范文网 - 专业文章范例文档资料分享平台

c++多态性实验报告(2)

来源:网络收集 时间:2018-12-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

} void complex::display() { cout<<'('<

c3.display(); c3=++c1; cout<<\ c3.display(); return 0; }运行结果: 代码分析: 1)在复数类中定义了四则运算的重载函数以及比较大小的函数,当满足比较符的大小关系时返回1否则返回0; 2)当重载函数为类函数时只需一个参数,为友元函数时需要两个参数; 3)对于‘++’与‘--’,如果在自增(自减)函数中,增加一个int型的参数,就是后置自增运算符函数 二、建立一个分数类Fraction。分数类的数据成员包括分子和分母。成员函数包括构造函数、复制构造函数。构造函数要对初始化数据进行必要的检查(分母不能为0)。将分数显示成 “a/b”形式的输出函数。成员函数包括约分、通分、加、减、乘、除、求倒数、比较大小、显示和输入。完成以上所有成员函数并在主函数中进行检验。 #include using namespace std; class Fraction{ int numerator,denominator; int common_divisor(); //计算最大公约数

void contracted(); //分数化简 public: Fraction(int=0,int=1); Fraction(Fraction&); Fraction operator +(Fraction); Fraction operator -(Fraction); Fraction operator *(Fraction); Fraction operator /(Fraction); bool operator>=(Fraction); bool operator<=(Fraction); bool operator==(Fraction); bool operator<(Fraction f){return !(operator>=(f));} bool operator>(Fraction f){return !(operator<=(f));} bool operator!=(Fraction f){return !(operator==(f));} Fraction Updown(); void Set(int=0,int=1); void disp(){cout<<\}; 实验代码: #include #include using namespace std; class Fraction{ int a,b; public: void contracted();//分数化简 Fraction(){a=0;b=1;} Fraction(int n,int m){a=n;b=m;} Fraction operator +(Fraction &c); Fraction operator +(int i); Fraction operator -(Fraction &c); Fraction operator -(int i); Fraction operator *(Fraction &c); Fraction operator *(int i); Fraction operator /(Fraction &c); Fraction operator /(int i); int operator>=(Fraction &c); int operator<=(Fraction &c); int operator==(Fraction &c); int operator<(Fraction &c); int operator>(Fraction &c); int operator!=(Fraction &c);

Fraction Updown();//求倒数 void Set(int=0,int=1); void disp(){cout<<\}; void Fraction::contracted() { int m,n,temp; if(b<0) { a=-a; b=-b; } m=abs(a); n=abs(b); while(m%n) { //求最大公约数 temp=m; m=n; n=temp%n; } a=a/n; b=b/n; } Fraction Fraction::operator +(Fraction &c) { int m,n,x,y; m=a;n=b;x=c.a;y=c.b; Fraction f; x=x*b; m=y*m; f.b=n*y; f.a=m+x; f.contracted(); return f; } Fraction Fraction::operator +(int i) { int m,n,x,y; Fraction f,c; c.a=i;c.b=1; m=a;n=b;x=c.a;y=c.b; x=x*b; m=y*m; f.b=n*y;

f.a=m+x; f.contracted(); return f; } Fraction Fraction::operator -(Fraction &c) { int m,n,x,y; m=a;n=b;x=c.a;y=c.b; Fraction f; x=x*b; m=y*m; f.b=n*y; f.a=m-x; f.contracted(); return f; } Fraction Fraction::operator -(int i) { int m,n,x,y; Fraction f,c; c.a=i;c.b=1; m=a;n=b;x=c.a;y=c.b; x=x*b; m=y*m; f.b=n*y; f.a=m-x; f.contracted(); return f; } Fraction Fraction::operator *(Fraction &c) { Fraction f; int m,n,x,y; m=a;n=b;x=c.a;y=c.b; f.b=n*y; f.a=m*x; f.contracted(); return f; } Fraction Fraction::operator *(int i) { Fraction f,c; int m,n,x,y;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c++多态性实验报告(2)在线全文阅读。

c++多态性实验报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/369666.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: