C++程序设计(第2版) 实验三、C++类和对象_第1页
C++程序设计(第2版) 实验三、C++类和对象_第2页
C++程序设计(第2版) 实验三、C++类和对象_第3页
C++程序设计(第2版) 实验三、C++类和对象_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三、类和对象(10学时)一、实验目的.掌握声明类的方法,类和类的成员的概念以及定义对象的方法。.初步掌握用类和对象编制基于对象的程序。.学习检查和调试基于对象的程序。.掌握类的构造函数和析构函数的概念和使用方法。.掌握对象数组、对象的指针及其使用方法。.掌握共用数据的保护方法二、实验内容.检查下面的程序,找出其中的错误,并改正之。然后上机调试,使之能正常运行。(1)#include<iostream>usingnamespacestd;classClock{voidset_clock(void);voidshow_clock(void);inthour;intminute;intsecond;);Clockclock;intmain()(set_clock();show_clock();}intset_clock(void)(cin»t.hour;cin»t.month;cin»t.second;)cout«t.hour«,':cout«t.hour«,':,,«t.minute«,':n«t.second«endl;(2)#include<iostream>usingnamespacestd;classA{public:voidA(inti=0){m=i;}voidshow(){cout«m;}void〜A(){}private:intm;};intmain(){Aa(5);a.m+=10;a.show();return0;)(3)classX{private:inta=0;int&b;constintc;voidsetA(inti){a=i;}X(inti){a=i;}public:intX(){a=b=0;}X(inti,intj,intk){a=i;b=j;c=k;}setC(intk)const{c=c+k;});intmainQ(Xxl;Xx2(2);Xx3(l,2,3);xl.setA(3);return0;)2.请先阅读下面的程序,写出程序运行的结果,然后再上机运行程序,验证自己分析的结果是否正确。#include<iostream>usingnamespacestd;classtest{public:test();intgetint(){returnnum;}floatgetfloat(){returnfl;}〜test();private:intnum;floatfl;);test::test(){cout«nInitalizingdefault'1«endl;num=0;fl=0.0;)test二〜test() {cout«"Destructorisactive*'«endl;}intmain()(testarray[2];cout«array[l].getint()«”“«array[l].getfloat()«endl;return0;)#include<iostream>usingnamespacestd;#include<string>classX{public:X(intxl,char*x2,floatx3):a(xl),c(x3){b=newchar[sizeof(x2)+1];strcpy(b,x2);)X():a(0),b("X::X())c(10){}X(intxl,char*x2="X::X(…x3=10):a(xl),b(x2),c(x3){}X(constX&other){a=other.a;b=nX::X(constX&other)n;c=other.c;}voidprint(){ cout«na=n«a«,,\tn«,'b=,,«b«,,\tn«,'c=n«c«cndl;private:inta;char*b;floatc;);intmain(){X*A=newX(4;'X::X(int,char,float),,,32);XB,C(10),D(B);A->print();B.print();C.print();D.print();return0;).某单位的职工工资包括基本工资Wage,岗位津贴Subsidy,房租Rent,水费WaterFee,电费ElecFee。设计实习工资管理的类Salary,该类的形式如下:classSalary{public:Salary。{初始化工资数据的各分项数据为0}Salary( ){初始化工资数据的各分项数据}voidsetXX(doublef){XX二f;}doublegetXX(){returnXX;}doubleRealSalary(){ }〃计算实发工资Private:doubleWage,Subsidy,Rent,WaterFee,ElecFee;);其中,成员函数setXX()用于设置工资的各分项数据,成员函数getXX()用于获取工资的各分项数据,XX代表Wage、Subsidy等数据成员,如Wage对应的成员函数则为setWage。和getWage()o实发工W=Wage+Subsidy-Rent-WaterFee-ElecFee编程完善该类的设计,并在主函数中测试该类的各成员函数。.设计^一,个时钟类Clocko数据成员包括hour(小时)、minute(分钟)、second(秒)。要求用成员函数实现以下功能:(1)创建具有指定时钟(小时、分钟、秒)的Clock对象,默认时钟为00:00:00。(2)动态地设置时、分、秒。(3)在屏幕上按"时:分:秒”的格式显示时钟。(4)在主函数中测试该类。.设计一个职工类Employee。数据成员包括字符串型的name(姓名)、street(街道地址)、city(市)、province(省)、postalcode(邮政编码)。要求用成员函数实现以下功能:(1)创建职工对象时,可以按不同方式指定职工信息。(2)动态地设置职工对象信息。(3)在屏幕上打印职工信息。(4)在主函数中测试该类。.需要求3个三角形的体积,请编写一个基于对象的程序。数据成员包括三角形的三边长a、b、co要求用成员函数实现以下功能:(1)定义构造函数完成三角形的初始化;(2)求三角形的周长;(3)求三角形的面积;(4)输出三角形信息。.下面是一个整型数组类intArray的声明,请给出该类所有数据成员的类外定义。classintArray{public:intArray(intsize);//构造函数intArray(constintArray&x);〃复制构造函数〜intArray();〃析构函数boolSet(inti,intelem);//设置第i个数组元素的值,设置成功返回true,失败返回falseboolGet(inti,int&elem);//获取第i个数组元素的值,获取成功返回true,失败返回falseintLength()const;//获取数组的长度voidReSize(intsize);〃重置数组voidPrint。;//输出数组private:int"element; 〃指向动态数组的指针intcursize; //数组的当前实际长度intmaxsize; 〃数组的最大长度);.下面是一个整型链表类intList的声明,请给出该类所有数据成员的类外定义。classintList{protected:structNode{Node*next;intdata;};Node*Head;public:intList。;//构造函数〜intList。;//析构函数〃向链表的第i个位置插入一个元素,插入成功返回true,失败返回falseboolInsert(inti,intelem);〃删除链表的第i个位置的元素,删除成功返回true,失败返回falseboolRemove(inti,int&elem);int*Find(intelem)const;〃查找值为elem的元素,返回指向该元素的指针intLength()const;//返回链表长度voidPrintlist。;//输出链表);.下面是一个整型堆栈类intStack的声明,请给出该类所有数据成员的类外定义。classintStack{public:intStack(intsize=10);〃构造函数-intStack();//析构函数bool

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论