实验十 类与对象的基本概念

实验十 类与对象的基本概念

ID:38698994

大小:76.50 KB

页数:6页

时间:2019-06-17

实验十  类与对象的基本概念_第1页
实验十  类与对象的基本概念_第2页
实验十  类与对象的基本概念_第3页
实验十  类与对象的基本概念_第4页
实验十  类与对象的基本概念_第5页
资源描述:

《实验十 类与对象的基本概念》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++类与对象的基本概念姓名:郭弘凌指导教师:杜宏明学号:13021228班级:机械5班实验十类与对象的基本概念一、实验目的类是C++扩展数据类型,可以封装不同类型的数据成员和函数成员,类是面向对象程序设计的基础。本次实验内容包括面向对象的基本概念、构造函数与析构函数,从实际问题抽象出类等,通过实验要求:1.掌握面向对象的基本概念,类的定义方法。2.掌握类成员的访问权限及访问类成员的方法。3.掌握内联函数和默认函数。4.掌握构造函数与析构函数的意义及使用方法。二、实验内容1.范例:集合是具有共同属性(共性)而又能互相区别(个性)的多个成员汇集起来的整体,构成集合的每个成员称为集合的元素,

2、元素间没有顺序关系。例如,所有的大写英文字母是一个集合,它包括26个元素:A、B、…、Z。不包含任何元素的集合称为空集合。[要求]自定义一个集合类set,采用数组存放集合的元素。自定义集合运算包括以下操作:1)判断元素elem是否为集合set的元素。2)为集合添加一个元素elem。3)从集合中删除一个元素elem。4)复制一个集合,其元素与原集合完全一样。5)显示集合中的所有元素。6)求两个集合中相同的元素,即求两个集合的交集。7)求两个集合中所有的元素,即求两个集合的并集。8)判断两集合包含的元素是否完全相同。9)判断一个集合是否被包含在另一个集合之中,即是否为另一个集合的子集。运行结

3、果如下:2.编程:建立一个分数类。分数类的数据成员包括分子和分母,操作包括约分、通分、比较、加、减、乘、除、求倒数、显示和输入。#include#includeusingnamespacestd;classfraction{private:intabove;//分子intbelow;//分母voidreduction();//约分voidmakeCommond(fraction&);//通分public:fraction(inta=0,intb=1){above=a;below=b;}//构造函数fractionadd(fraction);//两分数相加

4、fractionsub(fraction);//本分数减去实参分数fractionmul(fraction);//两分数相乘fractiondiv(fraction);//本分数除以实参分数fractionreciprocal();//求倒数boolequal(fraction);//等于运算boolgreaterThan(fraction);//大于运算boollessThan(fraction);//小于运算voiddisplay();//显示分数voidinput();//输入分数};voidfraction::reduction()//约分先求最大公约数{inta,b,temp;

5、if(below<0){below=-below;above=-above;}a=abs(above);//abs求绝对值函数b=abs(below);while(a%b){temp=a;a=b;b=temp%b;}above/=b;below/=b;}voidfraction::makeCommond(fraction&b)//通分{inttemp;reduction();b.reduction();above*=b.below;b.above*=below;temp=below*b.below;below=b.below=temp;}fractionfraction::add(fra

6、ctionb)//两分数相加{fractiontemp;makeCommond(b);//通分temp.above=above+b.above;temp.below=below;temp.reduction();//约分returntemp;}fractionfraction::sub(fractionb)//本分数减去实参分数{fractiontemp;makeCommond(b);//通分temp.above=above-b.above;temp.below=below;temp.reduction();//约分returntemp;}fractionfraction::mul(fr

7、actionb)//两分数相乘{fractiontemp;temp.above=above*b.above;temp.below=below*b.below;temp.reduction();//约分returntemp;}fractionfraction::div(fractionb){fractiontemp;if(b.above==0){cout<<"零不能作除数!"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。