欢迎来到天天文库
浏览记录
ID:22280900
大小:144.56 KB
页数:15页
时间:2018-10-28
《实验2类和对象》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验2类和对象班级_学号_姓名成绩一、实验目的1.掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2.掌握类对象的定义,对象的初始化;3.理解类的成员的访问控制的含义,公有、私有和保护成员的区别;4.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数;二、实验内容1.分析找出以下程序中的错误,说明错误原因,给出修改方案使之能正确运行。#includeclassone{intal,a2;public:one(intxl=0,x2
2、=0););voidmain(){onedata(2,3);cout«data.al«endl;cout«data.a2«endl;)2.分析以下程序的错误原因,给出修改方案使之能正确运行。#includeclassAmplifier!floatinvol,outvol;public:Amplifier(floatvin,floatvout){invol=vin;outvol=vout;}floatgain();};Amplifier::floatgain(){returnoutvol/invol;}voidmain(){Am
3、plifieramp(5.0,10.0);cout«MThegainis=>n«gain()«endl;}3.修改下列程序,符合囲向对象的设计思想:定义私有数据成贝,输入输出成员函数,类体外定义成员函数。#include〈iostream〉usingnamespacestd;classTime{public:inthour;intminute;intsec;};Timetl;intmain(){cin»tl.hour;cin»tl.minute;cin»tl.sec;cout«tl.hour«n:H«tl.minute«,1:n«tl.sec
4、«endl;return0;}1.定义盒子Box类,要求具有以下成员:可设賈盒子形状;可计算盒子体积;可计算盒子的表面积。2.编写一个程序计算两个给定的长方形的周长和面积。3.编写一个程序,采用一个类求n!,并输出10!的值。4.编写一个程序,设计一个Cdate类,它应该满足下面的条件:1)用这样的格式输出日期:日-月-年:2)输出在当前日期上加两天后的日期;3)设置日期。三、实验源程序、测试与结论1.分析:出错原因:构造函数参数xl未定义类型,al、a2为类私有成员不能被外部程序进行访问,构造函数未写函数体。修改方案:#include5、am.h>classone{public:one(intx1=0,intx2=0):al(xl),a2(x2){}inta1,a2;};voidmain(){onedata(2,3);cout«data.al«endl;cout«data.a2«endl;测试数据截图:”D:学习C++§^Debu9sy2-1.exe.-□X2A3Pressanykeytocontinue搜狗拼音输入法全:V1.分析:出错原因:成员函数在类体外定义格式是:函数返回类型类名::成员函数名(参数表);成员阑数调用格式是:对象名.成员函数名(参数表)。修改方案:#i6、ncludeclassAmplifier{floatinvol,outvol;public:Amplifier(floatvin,floatvout){invol=vin;outvol=vout;}floatgain();};floatAmplifier::gain(){returnoutvol/invol;)voidmain(){Amplifieramp(5.0,10.0);cout«nThegainis=>M«amp.gain()«endl;)测试数据截图:'D:学习C++实验Debugsy2-2.exe”7、一□XThegainis=>2APressanykeytocontinue^搜狗拼音输入法全:V1.源程序:#includeusingnamespacestd;classTime{private:inthour;intminute;intsec;public:voidsl(){cin»hour;cin»minute;cin»sec;)voidsc(){cout«hour«":M«minute«":"«sec«endl;)};intmain(){Timetl;tl.sl();tl.sc();return0;)测试数裾截阁:"D:学8、习C++实验Debugsy2-3.exe"—□X6666:6:6Pressanykeytocontin
5、am.h>classone{public:one(intx1=0,intx2=0):al(xl),a2(x2){}inta1,a2;};voidmain(){onedata(2,3);cout«data.al«endl;cout«data.a2«endl;测试数据截图:”D:学习C++§^Debu9sy2-1.exe.-□X2A3Pressanykeytocontinue搜狗拼音输入法全:V1.分析:出错原因:成员函数在类体外定义格式是:函数返回类型类名::成员函数名(参数表);成员阑数调用格式是:对象名.成员函数名(参数表)。修改方案:#i
6、ncludeclassAmplifier{floatinvol,outvol;public:Amplifier(floatvin,floatvout){invol=vin;outvol=vout;}floatgain();};floatAmplifier::gain(){returnoutvol/invol;)voidmain(){Amplifieramp(5.0,10.0);cout«nThegainis=>M«amp.gain()«endl;)测试数据截图:'D:学习C++实验Debugsy2-2.exe”
7、一□XThegainis=>2APressanykeytocontinue^搜狗拼音输入法全:V1.源程序:#includeusingnamespacestd;classTime{private:inthour;intminute;intsec;public:voidsl(){cin»hour;cin»minute;cin»sec;)voidsc(){cout«hour«":M«minute«":"«sec«endl;)};intmain(){Timetl;tl.sl();tl.sc();return0;)测试数裾截阁:"D:学
8、习C++实验Debugsy2-3.exe"—□X6666:6:6Pressanykeytocontin
此文档下载收益归作者所有