实验二 面向对象编程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二面向对象编程

一、实验目的:

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

二、实验时间:

三、实验地点:

四、实验内容:

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

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

get_perimeter()用于计算周长,

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

set_radius()设置半径,

get_radius()获取半径。

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

#include "stdafx.h"

#include

using namespace std;

const double PI=3.1415926;

class Circle

{

public:

double get_area();//用于计算面积

double get_perimeter();//用于计算周长

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

void set_radius(double r);//设置半径

double get_radius();//获取半径

Circle(double r=0);//调用构造函数

Circle(Circle &r);//复制构造函数

~Circle();//析构函数

private:

double radius;

};

double Circle::get_area()

{return radius*radius*PI;

}

double Circle::get_perimeter()

{return 2*radius*PI;

}

void Circle::disp()

{

cout <<"圆的半径:"<

void Circle::set_radius(double r)

{radius=r;

}

double Circle::get_radius()

{return radius;

}

Circle::Circle(double r)

{

radius=r;

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

}

Circle::Circle(Circle &r)

{

radius=r.radius;

cout<

Circle::~Circle()

{

radius=0;

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

}

int main(int argc, char* argv[])

{

double r;

cout<<"请输入半径:";

cin>>r;

Circle c1(r);

c1.disp();

Circle c2=c1;

cout<<"测试复制构造体:"<

c2.disp();

cout<

Circle c3;

c3.disp();

cout<<"请输入半径:";

cin>>r;

c3.set_radius(r);

cout<<"结果:"<

c3.disp();

system("pause");

return 0;

}

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

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

get_area()计算表面积。

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

// shiyan2_2.cpp : 定义控制台应用程序的入口点。

#include "stdafx.h"

#include "iostream"

using namespace std;

const double PI=3.1415926;

class Circle

{

public:

double get_area();//用于计算面积

double get_perimeter();//用于计算周长

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

void set_radius(double r);//设置半径

double get_radius();//获取半径

Circle(double r=0);//调用构造函数

Circle(Circle &r);//复制构造函数

~Circle();//析构函数

private:

double radius;

};

double Circle::get_area()

{return radius*radius*PI;

}

double Circle::get_perimeter()

相关文档
最新文档