文档库 最新最全的文档下载
当前位置:文档库 › 实验二 面向对象编程

实验二 面向对象编程

实验二  面向对象编程
实验二  面向对象编程

实验二面向对象编程

一、实验目的:

掌握类与对象的定义方法,成员函数的实现与调用方法,领会类实现数据隐藏与封装的原理。

二、实验时间:

三、实验地点:

四、实验内容:

1、编写Circle类,有数据成员Radius,

成员函数get_area()用于计算面积,

get_perimeter()用于计算周长,

disp( )用于显示面积和周长,

set_radius()设置半径,

get_radius()获取半径。

完善必要的构造函数,构造一个Circle的对象进行测试,对构造函数和析构函数的调用情况进行分析。

2、编写圆柱体类Cylinder,有数据成员Circlr对象和长度Len,

成员函数get_vol() 计算体积,

get_area()计算表面积。

完善必要的构造函数和拷贝构造函数,构造Cylinder的对象进行测试。对构造函数,拷贝构造函数和析构函数的调用情况进行分析。

3、设计学生类Stu,含no(学号),name(姓名),deg(成绩)数据成员,

成员函数有setdata()用于设置对象,disp()用于输出80—89分段学生数据。在main()中定义对象数组,用于存储输入学生数据。

五、实验要求:

在上机前写出全部源程序;

六、实验结果分析:

源程序及结果分析:

1. Circle类

#include

using namespace std;

const float PI = 3.14;

class Circle

{

public:

Circle (float r);

float set_radius();//设置半径,

float get_radius();//获取半径。

float get_area();//用于计算面积,

float get_perimeter();//用于计算周长,

void disp( );//用于显示面积和周长,

~Circle();

private:

float Radius;

};

Circle::Circle(float r)

{

Radius = r;

cout<<"构造函数调用成功"<

}

float Circle::set_radius()//用来设置圆的半径

{

float r;

Radius = r;

return Radius;

}

float Circle::get_radius()//用于获取圆的半径

{

return Radius;

}

float Circle::get_perimeter()

{

return 2*PI*Radius;

}

float Circle::get_area()

{

return PI*Radius*Radius;

}

void Circle::disp()

{

cout<<"The perimeter is "<

cout<<"The area is "<

}

Circle::~Circle()

{

cout<<"析构函数调用成功"<

}

int main()

{

Circle circle(5.5);

cout<<"The Radius is 5.5"<

circle.disp();

return 0;

}

结果分析:

2. 圆柱体类Cylinder

#include

using namespace std;

const float PI = 3.14;

class Cylinder

{

public:

Cylinder(float pCirclr,float pLen);

Cylinder(Cylinder &c);

float get_vol();

float get_area();

~Cylinder();

private:

float Circlr,Len;

};

Cylinder::Cylinder(float pCirclr,float pLen) {

Circlr=pCirclr;

Len=pLen;

cout<<"构造函数调用成功"<

Cylinder::Cylinder(Cylinder &c)

{

Circlr=c.Circlr;

Len=c.Len;

cout<<"拷贝构造函数调用成功"<

}

float Cylinder::get_vol()

{

return PI*Circlr*Circlr*Len;

}

float Cylinder::get_area()

{

return 2*PI*Circlr*Circlr+2*PI*Circlr*Len; }

Cylinder::~Cylinder()

{

cout<<"析构函数调用成功"<

}

int main()

{

float pCirclr;

float pLen;

cout<<"Input r and high:";

cin>>pCirclr;

cin>>pLen;

Cylinder c1(pCirclr,pLen);

Cylinder c2(c1);

cout<<"The volume is:"<

cout<<"The area is:"<

return 0;

}

结果分析:

相关文档