资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
实验 3 多态性3.1 实验目的和要求(1) 了解多态性的概念。(2) 掌握运算符重载的基本方法。(3) 掌握虚函数的定义和使用方法。(4) 掌握纯虚函数和抽象类的概念和用法。3.2 实验内容与步骤一、构建一个复数类Complex,试对下列几个运算符进行重载:+,= ,!=,+,- ,= ,其中要求要有成员重载形式和友元重载形式,而且,+运算符要求实现先加和后加两种形式。该类定义原型说明:class complexpublic:complex(double r=0,double i=0);complex complex operator -(complex complex operator *(complex friend complex operator /(complex friend int operator =(complex friend int operator !=(complex /friend complex operator+(complex complex operator+();complex operator+(int);void disp();private:double real; double imag;二、建立一个分数类 Fraction。分数类的数据成员包括分子和分母。成员函数包括构造函数、复制构造函数。构造函数要对初始化数据进行必要的检查(分母不能为 0)。将分数显示成 “a/b”形式的输出函数。成员函数包括约分、通分、加、减、乘、除、求倒数、比较大小、显示和输入。完成以上所有成员函数并在主函数中进行检验。#include using namespace std;class Fractionint numerator,denominator;int common_divisor(); /计算最大公约数void contracted(); /分数化简public: Fraction(int=0,int=1);Fraction(FractionFraction operator +(Fraction);Fraction operator -(Fraction);Fraction operator *(Fraction);Fraction operator /(Fraction);bool operator=(Fraction);bool operator=(f);bool operator(Fraction f)return !(operatorclass Menu public:virtual void action ( ) = 0;;class item1: public Menupublic:virtual void action () cout 新建文件 endl;;class item2: public Menupublic :virtual void action ( )cout 打开文件 endl;;class item3: public Menupublic:virtual void action ( )cout 保存文件 endl;;class item4: public Menupublic:virtual void action() cout关闭文件 endl;void main() int select;Menu * Fptr4;FptrO = new item1;Fptr1 = new item2;Fptr2 = new item3;Fptr3 = new item4;Do cout 1 new file endl;cout 2 open file endl;cout 3 save file endl;cout 4 close file endl;cout O exit endl;cin select;if( select = 1 & select action();while( select! =0);for(int i=0;i=3;i+ )delete Fptri;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号