搜索
您的当前位置:首页正文

类与对象的基本概念

来源:二三娱乐


深 圳 大 学 实 验 报 告

课程名称: 面向对象程序设计

实验项目名称: 类与对象的基本概念

学院: 信息工程学院

专业: 电子信息工程

指导教师:

报告人:学号:班级:

实验时间: 2014年11月7日

实验报告提交时间: 2014年11月14日

教务处制

实验目的 1. 掌握面向对象的基本概念和类的定义方法。 2. 掌握类成员的访问权限以及访问类成员的方法。 3. 掌握内联函数和默认函数。 4. 掌握构造函数与析构函数的意义以及使用方法。 实验内容 1. 自定义一个集合类set,采用数组存放集合的元素。自定义集合运算包括以下操作: (1) 判断元素elem是否为集合set的元素。 (2) 为集合添加一个元素elem。 (3) 从集合中删除一个元素elem。 (4) 复制一个集合,其元素与原集合完全一样。 (5) 显示集合中的所有元素。 (6) 求两个集合中相同的元素,即求两个集合的交集。 (7) 求两个集合中所有的元素,即求两个集合的并集。 (8) 判断两个集合包含的元素是否完全相同。 (9) 判断一个集合是否被包含在另一个集合之中,即是否为另一个集合的子集。 2.编程:建立一个分数类。分数类的数据成员包括分子和分母,操作包括约分、通分、加、减、乘、除、求倒数、比较、显示和输入。 实验过程及结果 运行结果如下: 分析: (1) 类的定义:类实际上是对某种类型的对象定义变量和方法的原型,它表示对生活中一类具有共同特征的事物的抽象。 (2) 类成员的访问权限:可以分为3类:public(公有的)、private(私有的)、protected(保护的)如果在类体起始点没有访问说明符,则系统默认定位private(私有的)。 (3) 成员函数的使用方法:函数要在类定义的外部进行,格式为:返回值类型 类名::函数名(参数表){…} 2. 源程序如下: #include #include using namespace std; class fraction{ int above; //分子 int below; //分母 void reduction(); //约分 void makeCommond(fraction&); //通分 public: fraction(int a=0,int b=1){ //构造函数 above=a;below=b; } fraction add(fraction); //两分数相加 fraction sub(fraction); //本分数减去实参分数 fraction mul(fraction); //两分数相乘 fraction div(fraction); //本分数除以实参分数 fraction reciprocal(); //求倒数 bool equal(fraction); //等于运算 bool greaterThan(fraction); //大于运算 bool lessThan(fraction); //小于运算 void display(); //显示分数 void input(); //输入分数 }; void fraction::reduction(){ //约分先求最大公约数 int a,b,temp; if(below<0){ above=-above; below=-below; } a=abs(above); b=abs(below); while(a%b){ //欧几里德法求最大公约数 temp=a; a=b; b=temp%b; } above/=b; below/=b; } void fraction::makeCommond(fraction& b){ int temp; reduction(); b.reduction(); above*=b.below; b.above*=below; temp=below*b.below; below=b.below=temp; } fraction fraction::add(fraction b){ fraction temp; makeCommond(b); //通分 temp.above=above+b.above; temp.below=below; temp.reduction(); //约分 return temp; } fraction fraction::sub(fraction b){ fraction temp; makeCommond(b); //通分 temp.above=above-b.above; temp.below=below; temp.reduction(); //约分 return temp; } fraction fraction::mul(fraction b){ fraction temp; temp.above=above*b.above; temp.below=below*b.below; temp.reduction(); //约分 return temp; } fraction fraction::div(fraction b){ fraction temp; if(b.above==0){ cout<<\"零不能作除数!\"<b.above); } bool fraction::lessThan(fraction b){ makeCommond(b); //通分 return(above>above>>below; if(below==0) cout<<\"分母不可为零!\"<f2\"<注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top