实验2类的定义与使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计实验报告南方医科大学医工学院
实验报告二
实验名称:类的定义与使用学时安排:课内2+课外6
实验类别:综合性实验实验要求:3人1组
完成人:学号姓名
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
一、实验目的和任务
1)掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;
2)掌握类对象的定义;
3)理解类的成员的访问控制的含义,公有、私有和保护成员的区别;
4)掌握类的构造函数、拷贝构造函数和析构函数的设计与调用;
5)理解组合类的定义和使用;
6)能够用类表示和解决应用问题。
二、实验原理介绍
验证性实验,通过运行课本例题,了解并熟悉以下过程:
建立类及对象,用类的成员函数和对象访问类的成员;
利用建立类的构造函数,完成类的成员的初始化。
三、实验设备介绍
软件需求: Visual C++ 6.0
硬件需求:建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、24位真彩色显示卡、彩色显示器。
四、实验内容
1、输入并运行课本例题4-1,学习类的定义和使用。
2、输入并运行课本例题4-2,学习拷贝构造函数的调用。
3、课后输入并运行课本例题【4-3】、【4-4】和【4-7】。
4、理解拷贝构造函数的目的和调用。在三种情况下,系统自动调用拷贝构造函数。
⑴当用类的一个对象去初始化该类的另一个对象时;
⑵如果函数的形参是类的对象,调用函数,进行形参和实参的结合时;
⑶如果函数的返回值是类的对象,函数执行完成返回调用者时。
以下程序都是定义一个屏幕上的点类,该类具有x、y 坐标属性。
输入并运行下列三个程序,体会拷贝构造函数的用法。
【程序1】
#include
using namespace std;
class Point
{
public:
Point(int xx = 0, int yy = 0)
{
X = xx; Y = yy;
cout<<"调用构造函数\n";
}
Point(Point &p);
int GetX(){ return X; }
int GetY(){ return Y; } private:
int X,Y;
};
Point::Point(Point & p)
{
X = p.X;
Y = p.Y;
cout<<"调用拷贝构造函数\n"; }
void main()
{
Point A(3,4);
Point B(A);
cout< } 【程序2】 #include using namespace std; class Point { public: Point(int xx = 0,int yy = 0) { X = xx; Y = yy; cout<<"调用构造函数\n"; } Point(Point & p); int GetX(){ return X; } int GetY(){ return Y; } private: int X,Y; }; Point::Point(Point & p) { X = p.X; Y = p.Y; cout<<"调用拷贝构造函数\n"; } void fun1(Point p) { cout< } void main() { Point A(4,5); Point B(A); cout< fun1(B); //调用拷贝构造函数,实现形参和实参结合 } 【程序3】 #include using namespace std; class Point { public: Point(int xx=0,int yy=0) { X = xx; Y = yy; cout<<"调用构造函数\n"; } Point(Point & p); int GetX() {return X;} int GetY() {return Y;} private: int X,Y; }; Point::Point(Point &p) { X=p.X; Y=p.Y; cout<<"调用拷贝构造函数\n"; } Point fun2() { Point Temp(10,20); //调用构造函数 return Temp; } void main() { Point A(4,5); Point B(A); cout< B = fun2(); cout< 5、设计并测试一个矩形类(Rectangle),属性为矩形的左下与右上角的坐标,矩形水平放置。操