项目3-立体类族共有的抽象类

来源:互联网 发布:软件开发编程 编辑:程序博客网 时间:2024/06/03 00:26
/**程序的版权和版本声明部分:*Copyright(c)2013,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:尚振伟*完成日期:2014年5月29日*版本号:v0.1*对任务及求解方法的描述部分:*输入描述:无*问题描述:*程序输入:*程序输出:*问题分析:*算法设计:*我的程序:*/#include <iostream>#include <Cmath>using namespace std;class CSolid{public:    virtual double area() =0;    virtual double volume() =0;};class CCube:public CSolid{public:    CCube(double aa):a(aa) {}    double area()    {        return 6*a*a;    }    double volume()    {        return a*a*a;    }private:    double a;};class CCylinder:public CSolid{public:    CCylinder(double rr,double h):r(rr),height(h) {}    double area()    {        double a,s;        a=3.14*r*r*2;        s=3.14*2*r*height;        return a+s;    }    double volume()    {        return 3.14*r*r*height;    }private:    double r;    double height;};class Cball:public CSolid{public:    Cball(double rr):r(rr) {}    double area()    {        return 4*3.14*r*r;    }    double volume()    {        return 3.14*r*r*r*(4/3);    }private:    double r;};int main(){    CSolid *p;    CCube C(5);    p=&C;    cout<<"正方体的面积为:"<<p->area()<<endl;    cout<<"正方体的体积为:"<<p->volume()<<endl;    CCylinder cc(7,7);    p=&cc;    cout<<"圆柱体的面积为:"<<p->area()<<endl;    cout<<"圆柱体的体积为:"<<p->volume()<<endl;    Cball cb(2);    p=&cb;    cout<<"球的表面积为:"<<p->area()<<endl;    cout<<"球的体积为:"<<p->volume()<<endl;    return 0;}


结果展示:

0 0
原创粉丝点击