第十一週項目4- 類族的設計

/*
 *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;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章