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