/*
*Copyright (c) 2014, 煙臺大學計算機學院
*All rights reserved.
*文件名稱:week11-4.cpp
*作者:高贊
*完成日期:2015年 5 月 18 日
*版本號:v1.0
*
*
*/
#include <iostream>
using namespace std;
class Point //定義座標點類
{
public:
Point(double x0=0, double y0=0):x(x0), y(y0) {}
double getx()
{
return x;
}
double gety()
{
return y;
}
protected:
double x,y; //點的橫座標和縱座標
};
class Circle:public Point
{
public:
Circle(double x0=0,double y0=0,double r0=0):Point(x0,y0),r(r0) {}
double area()
{
return 3.141592*r*r;
}
double getr()
{
return r;
}
private:
double r;
};
class Cylinder:public Circle
{
public:
Cylinder(double x0=0,double y0=0,double r0=0,double h0=0):Circle(x0,y0,r0),h(h0) {}
double volume()
{
return h*area();
}
double geth()
{
return h;
}
friend ostream &operator<<(ostream &put,Cylinder &c)
{
put<<"底面圓心:("<<c.getx()<<","<<c.gety()<<")"<<endl
<<"底面半徑:"<<c.getr()<<" 高:"<<c.geth()<<endl
<<"底面積:"<<c.area()<<endl
<<"體積:"<<c.volume()<<endl;
return put;
}
private:
double h;
};
int main()
{
Cylinder a(1,1,2,5);
cout<<a<<endl;
return 0;
}
![]()