实验二面向对象编程
一、实验目的:
掌握类与对象的定义方法,成员函数的实现与调用方法,领会类实现数据隐藏与封装的原理。
二、实验时间:
三、实验地点:
四、实验内容:
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; } 结果分析: