文档详情

实验二 成员函数.doc

发布:2017-12-10约2.89千字共4页下载文档
文本预览下载声明
实验二 面向对象编程 实验目的: 掌握类与对象的定义方法,成员函数的实现与调用方法,领会类实现数据隐藏与封装的原理。 实验内容: 编写Circle类,有数据成员Radius,成员函数get_area()用于计算面积,get_perimeter()用于计算周长,disp( )用于显示面积和周长,set_radius()设置半径,get_radius()获取半径。 完善必要的构造函数,构造一个Circle的对象进行测试,对构造函数和析构函数的调用情况进行分析。 #include stdafx.h #includeiostream #includeconio.h using namespace std; const double P=3.141593; class Circle { float radius; public: Circle(float r);//构造函数 void set_radius(float r); float get_area(); float get_perimeter(); float get_radius(); void disp(); ~Circle(){}//调用析构函数 }; Circle::Circle(float r)//调用构造函数 {radius=r;} void Circle::set_radius(float r) {radius=r;} float Circle::get_radius() {return radius;} float Circle::get_area() {return P*radius*radius;} float Circle::get_perimeter() {return P*radius*2;} void Circle::disp() { cout圆的面积:get_area()endl圆的周长:get_perimeter()endl; } int main() { float R; cout输入半径:; cinR; Circle A(R); A.set_radius(R); cout半径:A.get_radius()endl; A.disp(); getch(); return 0; } 编写圆柱体类Cylinder,有数据成员Circlr对象和长度Len, 成员函数get_vol() 计算体积, get_area()计算表面积。 完善必要的构造函数和拷贝构造函数,构造Cylinder的对象进行测试。对构造函数,拷贝构造函数和析构函数的调用情况进行分析。 #include stdafx.h #includeiostream #includeconio.h using namespace std; const double PI = 3.14159; //Circle类 class Circle { public: Circle(double r) {radius=r;} //构造函数 Circle(Circle c) {radius=c.radius;}//调用圆的拷贝构造函数 double getArea(){ return PI*radius*radius;}//计算圆面积 double getGirth(){return 2*PI*radius;}//计算圆的周长 ~Circle(){}//调用圆的析构函数 private: double radius;//圆的半径 }; //Cylinder类 class Cylinder { public: Cylinder(Circle c1, double Len); Cylinder(Cylinder c); double get_Vol(){return Len*A.getArea();} //计算体积 double get_area(){ return A.getArea()+Len*A.getGirth();}//计算面积 ~Cylinder(){}//调用圆柱体的析构函数 private: Circle A; double Len;//圆柱的高 }; Cylinder::Cylinder(Circle c1,double h):A(c1) //调用圆柱体的构造函数 { Len=h; } Cylinder::Cylinder(Cylinder a):A(a.A)//调用圆柱体的拷贝函数 { Len=a.Len; } //测试程序 int main() { double R,h;
显示全部
相似文档