实验2类的定义与使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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),属性为矩形的左下与右上角的坐标,矩形水平放置。操

相关文档
最新文档