第十一周
来源:互联网 发布:mac重装系统osx 编辑:程序博客网 时间:2024/04/27 16:07
#include <iostream>using namespace std;class Point{ public: Point(double a=0,double b=0); void SetPoint(double,double); double getX() const {return x;} double getY() const {return y;} void ShowPoint(); friend ostream & operator<<(ostream &output,const Point &c); protected: double x,y;};Point::Point(double a,double b){ x=a; y=b;}void Point::SetPoint(double x1,double y1){ x=x1; y=y1;}void Point::ShowPoint(){ cout<<"Point: ("<<x<<","<<y<<")"<<endl;}ostream & operator<<(ostream &output,const Point &c){ output<<"point: ("<<c.x<<","<<c.y<<")"<<endl; return output;}class Circle:public Point{ public: Circle(double a,double b,double c):Point(a,b),r(c){} void SetCircle(double r2); double Getr(){return r;} double area(); void ShowCircle(); friend ostream & operator<<(ostream &,const Circle &C); protected: double r;};void Circle::SetCircle(double r2){ r=r2;}double Circle::area(){ return 3.1415*r*r;}void Circle::ShowCircle(){ cout<<"Circle: ("<<x<<","<<y<<") r="<<r<<endl;}ostream & operator<<(ostream &output,const Circle &C){ output<<"Circle: ("<<C.x<<","<<C.y<<") r="<<C.r<<endl; return output;}class Cylinder:public Circle{ public: Cylinder(double x3,double y3,double r3,double h3):Circle(x3,y3,r3),h(h3){} void setheight(double); double GetCylinder(); double area(); double volume(); friend ostream &operator<<(ostream &, Cylinder &); protected: double h;};void Cylinder::setheight(double h1){ h=h1;}double Cylinder::GetCylinder(){ return h;}double Cylinder::area(){ return 2*3.1415*r*r+3.1415*2*r*h;}double Cylinder::volume(){ return 3.1415*r*r*h;}ostream &operator<<(ostream &output, Cylinder &cy){ output<<"cylinder: ("<<cy.x<<","<<cy.y<<") r="<<cy.r<<" height="<<cy.h<<" area="<<cy.area()<<" volume="<<cy.volume()<<endl; return output;}int main(){ Cylinder cy(3.5,6.4,5.2,10); cout<<"cylinder: POINT:("<<cy.getX()<<","<<cy.getY()<<") r="<<cy.Getr()<<" height="<<cy.GetCylinder()<<" are="<<cy.area()<<" volume="<<cy.volume()<<endl; cy.setheight(15); cy.SetCircle(7.5); cy.SetPoint(5,5); cout<<"cylinder: "<<cy<<endl; return 0;}