实验一类与对象答案—专业版

上传人:工**** 文档编号:505154942 上传时间:2023-04-23 格式:DOC 页数:30 大小:132.50KB
返回 下载 相关 举报
实验一类与对象答案—专业版_第1页
第1页 / 共30页
实验一类与对象答案—专业版_第2页
第2页 / 共30页
实验一类与对象答案—专业版_第3页
第3页 / 共30页
实验一类与对象答案—专业版_第4页
第4页 / 共30页
实验一类与对象答案—专业版_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《实验一类与对象答案—专业版》由会员分享,可在线阅读,更多相关《实验一类与对象答案—专业版(30页珍藏版)》请在金锄头文库上搜索。

1、08计算机4班 实验一:类与对象一:1. 定义一个描述学生通讯录的类,数据成员包括:姓名、学校、电话号码和邮编;成员函数包括:输出各个数据成员的值,分别设置和获取各个数据成员的值。#include #include class COMMUchar *pName;/姓名,数据成员为私有的 char *pSchool;/单位 char *pNum;/电话号码char Box10;/邮编public:void Print(void)/输出数据成员cout姓名:pNamet;cout单位:pSchoolt;cout电话号码:pNumt;cout邮编:Boxn;void Init(char *,char

2、 *,char *,char *);void FreeSpace(void);/释放数据成员占用的空间void SetName(char *name)if(pName ) delete pName;/释放存储空间pName = new charstrlen(name)+1;/申请存储空间strcpy(pName,name);void SetScool(char *unit)/置学校名称if( pSchool ) delete pSchool;pSchool = new charstrlen(unit)+1;strcpy(pSchool,unit);void SetNum(char *num)/

3、置电话号码if( pNum ) delete pNum;pNum = new charstrlen(num)+1;strcpy(pNum,num);void SetBox(char *mailnum)/置邮编strcpy(Box,mailnum);char *GetName(void)/取姓名 return pName; char *GetScool(void )/取学校 return pSchool; char *GetNum(void)/取电话号码 return pNum; char *GetBox(void)/取邮编 return Box; ;void COMMU:Init(char *

4、name,char *unit,char *num,char *b)/完成初始化pName = new char strlen(name)+1;strcpy(pName,name);pSchool = new char strlen(unit)+1;strcpy(pSchool,unit);pNum = new char strlen(num)+1;strcpy(pNum,num);strcpy(Box,b);void COMMU:FreeSpace(void)if(pName) delete pName;if(pSchool) delete pSchool;if(pNum) delete p

5、Num;void main(void ) COMMU c1,c2;c1.Init(张建国,南京大学,025-85595638,210024);c2.Init(李国强,南京工业大学,025-85432455,210015);c1.Print();c2.Print();c1.SetName(王国安);coutc1.GetName()n;c1.SetScool(南京理工大学);coutc1.GetScool()n;c1.SetNum(025-88755635);coutc1.GetNum()n;c1.SetBox(210090);coutc1.GetBox()n;c1.Print();c1.Free

6、Space();c2.FreeSpace();二:定义一个类CName,要求该类设计如下:(1)该类有两个整型数据成员x和y;(2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函数,要求在构造函数中输出必要的信息以示区别;(3)设计2个成员函数用来读取数据成员x和y;(4)设计2个成员函数用来设置数据成员x和y;(5)设计1个成员函数用来在屏幕上打印输出数据成员x和y;(6)在main()函数中用三个不同的构造函数创建3个对象,并使用所有的成员函数对这些对象进行必要的操作。方法一:MEGA_INTEGER:实现了+、运算;/mega_integer.h#includ

7、e #includeusing namespace std;/*只考虑十进制的正整数的情况*/const int MAX=100;class MEGA_INTEGERpublic:int digitMAX; / 使用数组来存储这些数字int num; / 一共有num个有效数位public:MEGA_INTEGER();MEGA_INTEGER(int digit1, int n1); MEGA_INTEGER();void inputDigit(); /接收键盘输入,将数字存在到digit数组中;void outputDigit(); / 读出digit数组中存储的大数;int getnum

8、(); /返回有效数位的个数private:void delLeftZeros(); /私有函数,去掉长整数串最左边的无效0;;void add(MEGA_INTEGER A, MEGA_INTEGER B); /完成加法,并输出结果void subtract(MEGA_INTEGER A, MEGA_INTEGER B); /完成减法,并输出结果void multiply(MEGA_INTEGER A, MEGA_INTEGER B); /完成乘法,并输出结果void divide(MEGA_INTEGER A, MEGA_INTEGER B); /完成除法,并输出结果MEGA_INTEGE

9、R:MEGA_INTEGER()int i;num=0;for(i=0;iMAX;i+)digiti=0;MEGA_INTEGER:MEGA_INTEGER(int digit1, int n1=MAX)int i;for(i=0;iMAX;i+)digiti=0;for(i=0;i=0;i-)if(digiti!=0)break;num=i+1;if (num=0) /保证至少输出一位num=1;/ 首先将巨大整数当作字符串读入到内存中;然后将字符串转化为int数组;void MEGA_INTEGER:inputDigit()char s1MAX;int i;int j;/ 字符串s1由键盘

10、输入 cin.getline(s1,MAX,n);/coutn 输入的巨大整数为:ns19|s1i0)cout 输入无效数字 !=0;i-)digitj=s1i-0;j+;/ 3) 记录有效数位delLeftZeros(); void MEGA_INTEGER:outputDigit()int i;/cout=0;i-)coutdigiti;int MEGA_INTEGER:getnum()return num;MEGA_INTEGER:MEGA_INTEGER()/ 加法void add(MEGA_INTEGER A, MEGA_INTEGER B)int sumMAX; /记录运算的结果i

11、nt num; / 运算结果的有效位数int i,k;int tmp;/ 初始化for(i=0;iB.num)k=A.num;elsek=B.num;for(i=0;i=10)sumi+1+;sumi=tmp-10;elsesumi=tmp;if(sumk0)num=k+1;elsenum=k;MEGA_INTEGER SUM(sum,num);/ 输出结果SUM.outputDigit();/ 减法void subtract(MEGA_INTEGER A, MEGA_INTEGER B)int resultMAX; /记录运算的结果int num; / 运算结果的有效位数int i,k;int tmp;int flag=0; /标识/ 初始

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号