实验二 面向对象编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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()