C++类与对象实验报告Word文档格式.docx
《C++类与对象实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++类与对象实验报告Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
4.深刻领会类与对象的区别,类实现数据隐藏与封装的原理等
二.实验内容
(-)实验题目一:
调试下列程序,程序描述了一个圆柱的类,成员中有私有数据半径r及高h,公有的成
员函数有构造函数与输出圆柱参数的函数,在main函数中,输入两个参数,定义并初始化
此类的一个对象。
(1)请测试。
#include<
iostream.h>
classcolumn
{
private:
doubler,h;
public:
column(doubleri,doublehi)
r=ri;
h=hi;
}
voidprin()
cout<
<
"
圆柱的高为:
h<
圆柱的半径为:
r<
endl;
};
intmain()
columnc(3,10);
c.prin();
return0;
(2)再定义计算圆柱面积与体积的私有成员函数,在公有的成员函数prin中调用,在
main函数中输入半径r及高h,请设计程序并调试。
1.要点分析:
先上机调试该程序,初步理解和明白类的定义和初始化类的一个对象
2.程序源代码:
程序1:
程序2:
#include<
iostream>
usingnamespacestd;
string.h>
classcolumn
{
private:
doubleabc,flag;
doublemianji()
{abc=4*3.14*r*h;
returnabc;
}
doubletiji()
{flag=3.14*r*r*h;
returnflag;
public:
column(doubleri,doublehi)
{
}
voidprin()
mianji();
tiji();
圆柱的高:
"
圆柱的半径:
圆柱的体积:
flag<
圆柱的面积:
abc<
};
intmain()
{intR,H;
输入半径:
;
cin>
>
R;
输入高:
H;
columnc(R,H);
c.prin();
3.实验结果:
(二)实验题目二:
定义图书类。
设图书信息包括书名、作者、出版社和定价属性,要求定义一
个类,用该类定义图书对象、通过函数成员为对象数据赋值、能输出图书属性。
对类进行初始化赋值,则需要用构造函数
classBook
Book(char*bname,char*btutor,char*bchubanshe,intbprice)
strcpy(name,bname);
strcpy(tutor,btutor);
strcpy(chubanshe,bchubanshe);
price=bprice;
cout<
thebookinformation:
name<
/"
tutor<
chubanshe<
price<
Book(Book&
s)
....."
~Book()
”析构函数"
charname[20];
chartutor[20];
charchubanshe[20];
intprice;
classabc
abc(char*bname="
noname"
char*btutor="
notutor"
char*bchubanshe="
nohourse"
intbprice=0):
book(bname,btutor,bchubanshe,bprice)
constuctingabc"
protected:
Bookbook;
voidfn()
cout<
thelastfinally"
voidmain()
abc("
c++"
"
阳树洪"
清华大学出版社"
42);
fn();
3.实验结果
(三)实验题目三:
定义一个类,输入若干学生的学号,姓名和成绩,然后显示这个数据并计算出平均分。
同时设计出相应的程序进行测试。
1.程序源代码:
classstudent
student(char*sname,intsID,intsgoal)//构造函数
strcpy(name,sname);
name[sizeof(name)-1]='
\0'
studentID=sID;
goal=sgoal;
studentID<
goal<
intstudentID;
intgoal;
charsname[10];
intsID;
intsgoal;
intn,avear;
intallsgoal=0;
pleaseinputthetotalnum:
n;
for(inti=1;
i<
=n;
i++)
sname;
sID;
sgoal;
studenta(sname,sID,sgoal);
allsgoal+=sgoal;
avear=allsgoal/n;
2.实验结果
(四)实验题目四:
声明一个通讯录类,含姓名、地址、电话号码成员数据,其中姓名和电话号码使用字符数组,地址使用字符型指针成员。
要求如下成员函数:
构造函数、拷
贝构造函数、析构函数、输出所有成员的函数。
main()完成对象的定义和有关成
员函数的测试。
2.程序源代码:
classphone
phone(char*pname,char*padress,char*pnum)
Constructingnewstudent:
pname<
|"
padress<
|"
pnum<
strcpy(name,pname);
strcpy(adress,padress);
strcpy(num,pnum);
phone(phone&
strcpy(name,s.name);
thestudent:
s.name<
voidprint()
destrct"
adress<
num<
~phone()
deletetheroom"
charadress[20];
charnum[15];
voidfn(phones)
constrecting"
phonea("
lihua"
yudu"
);
callingfn()"
fn(a);
thefinally"
3.实验结果:
三.个人小结
通过此次实验,我掌握了声明类的方法,类和类的成员概念以及定义对象的方法,
掌握成员函数的实现与调用方法,掌握引检查和调试基于对象的程序的方法;
深刻领会类与对象的区别,类实现数据隐藏与封装的原理,并对C++编程有了更进一步的理解!