类和对象实验

上传人:干*** 文档编号:172650527 上传时间:2022-12-05 格式:DOCX 页数:12 大小:51.14KB
返回 下载 相关 举报
类和对象实验_第1页
第1页 / 共12页
类和对象实验_第2页
第2页 / 共12页
类和对象实验_第3页
第3页 / 共12页
点击查看更多>>
资源描述
深圳大学实验报告课程名称:面向对象程序设计C+语言编程实验项目名称学院专业:计算机科学与技术指导教师报告人:学号:班级:04实验时间: 20104161实验目的与实验环境:1.通过实验理解类和对象的基本概念和相互关系。2. 理解掌握构造函数与析构函数、访问控制、静态成员、this对象指针等基本概念,及其 实现抽象、数据封装与信息隐藏的基本方法。3. 能够熟练采用C+的类来描述对象,并学会使用类成员函数的实现和调用方法。4. 理解掌握静态数据成员描述对象共有属性的方法以及静态成员函数的运用。5. 通过比较同一问题不用类和用类来编程解决,进一步体会类可以提高程序质量的原理和 方法。初步建立面向对象程序设计的思维方法,学会用类来描述现实世界的对象。2方法、步骤:试验采用的方法是每人一台PC机在办公楼2楼学院机房(或在其它地方)每组一人独 立运用Visual C+6.0开发工具独立完成程序的编写,调试与测试。试验步骤为:1. 认真阅读试验指导书,并根据试验的目的与要求结合教材巩固相关知识。2. 根据试验内容,完成相关程序的设计。3. 根据设计的程序,在VC6.0集成开发环境中完成相关程序的编写,调试及运行。4. 设计有代表性的测试数据,对程序的功能正确与否进行测试。5. 对试验结果进行总结,撰写试验报告。2.源代码:题1.:头文件:#ifndef _CT #define _CT class CCounterint count;public:CCounter(int num)count = num; void countDown();void countUp();int getCount();void print();#endif源文件:#include viostream using namespace std;#include ct.h void CCounter:countDown()count-;void CCounter:countUp()count+;int CCounter:getCount()return count;void CCounter:print()coutvv计数器的值为vvcountvvendl; void main()coutvv请输入一个数vvendl; int n;cinn;CCounter ct(n);coutvv减 1 后; ct.countDown();ct.print();coutvv加 1 后;ct.countUp();ct.print();运行结果:幘输入一个数7冰后计数器的值为6险1后i+数器的番为7Press any key to continue题2:头文件:#ifndef _book#define _bookclass CBooksprivate:char*p_title; float price;public:CBooks();CBooks(char *p_book_titae, float book_price); void setTitle (const char *p_book_title);void setPrice(float book_price);void print()const; CBooks();#endif源程序:#include #include using namespace std;#include books.hCBooks:CBooks()p_title = Unknown; price = 0.0;CBooks:CBooks(char *p_book_titae, float book_price) p_title = new char strlen(p_book_titae)+l; strcpy(p_title,p_book_titae);price = book_price;void CBooks: setTitle (const char *p_book_title) deletep_title;p_title = new char strlen(p_book_title)+1; strcpy(p_title,p_book_title);void CBooks:setPrice (float book_price)price = book_price; void CBooks:print()constcout 书名:vvp_titlevvendl; cout #include vstring.h using namespace std;#include books.hCBooks:CBooks()p_title = Unknown;price = 0.0;CBooks:CBooks(char *p_book_titae, float book_price) p_title = new char strlen(p_book_titae)+1; strcpy(p_title,p_book_titae);price = book_price;CBooks:CBooks(const CBooks &kb)p title=new charstrlen(kb.p title)+1;strcpy(p_title,kb.p_title); price=kb.price;void CBooks: setTitle (const char *p_book_title) deletep_title;p_title = new char strlen(p_book_title)+l;strcpy(p_title,p_book_title);void CBooks:setPrice (float book_price) price = book_price; void CBooks:print()constcout 书名:vvp_titlevvendl; cout #include vmath.husing namespace std;class CStringprivate:char *p_str;public:CString(char *p_s)p_str = new char strlen(p_s)+1; strcpy(p_str,p_s);void print() coutvvp_strvvendl;CString()delete p_str;void main()char p20;CString *p_strPtr;coutvvEnter a string:; cinp;CString s1(p);p_strPtr = & si; p_strPtr-print();运行结果:Enter a string:testl23 testl23Press any key to continue题5:#includeviostreamusing namespace std;class CFraction;class CFractionprivate:long num;long den;public:CFraction(int num_val= 0, int den_val= 1) num=num_val;den=den_val; ; CFraction add(CFraction &r_f);CFraction sub(CFraction & r_f);CFraction mul(CFraction & r_f);CFraction div(CFraction & r_f);int getGCD();void print();CFraction CFraction:add(CFraction &r_f) 相加int gys;CFraction r;r.den=den*r_f.den;r.num=num*r_f.den+r_f.num*den;gys=r.getGCD();r.den=r.den/gys;r.num=r.num/gys; return r;CFraction CFraction:sub(CFraction &r_f) 相减int gys;CFraction r;r.den=den*r_f.den;r.num=num*r_f.den-r_f.num*den; gys=r.getGCD(); r.den=r.den/gys;r.num=r.num/gys; return r;CFraction CFraction:mul(CFraction &r_f) / 分数相乘int gys;CFraction r;r.den=den*r_f.den;r.num=num*r_f.num;gys=r.getGCD();r.den=r.den/gys;r.num=r.num/gys; return r;CFraction CFraction:div(CFraction &r_f) 分数相除int gys;CFraction r;r.den=den*r_f.num;r.num=num*r_f.den;gys=r.getGCD();r.den=r.den/gys;r.num=r.num/gys;return r;int CFraction:getGCD()求分子分母的最大公约数int a=num,b=den,r;while(b!=0)r=a%b;a=b;b=r;return a;void CFraction:print()打印函数 coutvvnumvv/vvdenvvendl; void main()int i,a,b,c,d;coutvv输入需要进行运算的2个分数(先输分子,后输分母):vvendl; cinabcd;CFraction fa(a,b),fb(c,d),fc;coutvv请输入需要进行的运算:vvendlvv1.相加vvendlvv2.相减vvendlvv3.相乘vvendlvv4.相除vvendlvvendl;cini;switch (i)选择case 1: fc=fa.add(fb); break;case 2: fc=fa.sub(fb); break;case 3: fc=fa.mul(fb); break;case 4: fc=fa.div(fb); break;default:break;coutv结果:;fc.print();运行结果:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!