【例8.2】 由圆和高多重继承派生出圆锥。

来源:互联网 发布:淘宝店铺被关闭怎么办 编辑:程序博客网 时间:2024/05/16 07:01
// 例8.2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <cmath>

using namespace std;

class Circle{
protected:
    float x,y,r;
public:
    Circle(float a=0,float b=0,float R=0){x=a;y=b;r=R;}

    void Setcoordinate(float a,float b){x=a;y=b;}

    void Getcoordinate(float &a,float &b){a=x;b=y;}

    void SetR(float R){r=R;}

    float GetR(){return r;}

    float GetAreaCircle(){return float(r*r*3.14159); }

    float GetCircumference(){return float(2*r*3.14159); }

};

class Line{
protected:
    float High;
public:
    Line(float a=0){High=a;}
    void SetHigh(float a){High=a;}
    float GetHigh(){return High;}
};

class Cone:public Circle,public Line{        
public:
    Cone(float a,float b,float R,float d):Circle(a,b,R),Line(d){}
    float GetCV(){return float(GetAreaCircle()*High/3);}
    float GetCA(){
        return float(GetAreaCircle()+r*3.14159*sqrt(r*r+High*High));
    }
};

int _tmain(int argc, _TCHAR* argv[])
{
    Cone cl(5,8,3,4);
    //float a,b;
    cout<<"圆锥的面积:"<<cl.GetCV()<<'\n';
    return 0;
}


原创粉丝点击