• 第十三周(立体类族共同拥有的抽象类)


    /*
    *copyright(c) 2015,烟台大学计算机学院
    *All rights reserved。
    *文件名:第十三周(立体类族共同拥有的抽象类)

    *作者:王忠
    *完毕日期:2015.6.02

    *版本:v1.0
    *
    *问题描写叙述:设计一个抽象类CSolid。含实用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder。分别表示正方体、球体及圆柱体。

    在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。

    要求利用这个p指针。可以求出正方体、球体及圆柱体对象的表面积及体积。


    *输入描写叙述:

    *程序输出:

    #include <iostream>
    using namespace std;
    class CSolid
    {
    public:
        virtual double volume()=0;
        virtual double area()=0;
    };
    class CCube:public CSolid
    {
    public:
        CCube(double a):b(a){}
        double  volume()
        {
            return b*b*b;
        }
        double area()
        {
            return 6*b*b;
        }
    protected:
        double b;
    };
    class CBall:public CSolid
    {
    public:
        CBall(double a):r1(a){}
        double volume()
        {
            return (4*3.14*r1*r1*r1)/3;
        }
        double area()
        {
            return 4*3.14*r1*r1;
        }
    protected:
        double r1;
    };
    class CCylinder:public CSolid
    {
    public:
        CCylinder(double a,double b):r2(a),h(b){}
        double volume()
        {
            return 3.14*r2*r2*h;
        }
        double area()
        {
            return (6.28*r2*h+6.28*r2*r2);
        }
    protected:
        double r2;
        double h;
    };
    
    int main()
    {
        CSolid *p;
        CCube c1(1);
        CBall c2(1);
        CCylinder c3(1,1);
        p=&c1;
        cout<<p->volume()<<"  ";
        cout<<p->area()<<endl;
        p=&c2;
        cout<<p->volume()<<"  ";
        cout<<p->area()<<endl;
        p=&c3;
        cout<<p->volume()<<"  ";
        cout<<p->area()<<endl;
        return 0;
    }
    
    


    全程自己写,一次性成功,别提多爽了!!

  • 相关阅读:
    Java Web 开发必须掌握的三个技术:Token、Cookie、Session
    $.proxy和$.extend
    手机端和网页端使用同一后台时进行会话控制
    js中使用EL表达式总结
    Durandal入门
    RequireJs入门
    阿里云Prismplayer-Web播放器的使用
    Mac系统实现git命令自动补全
    Mac系统的终端显示git当前分支
    Gulp实现css、js、图片的压缩以及css、js文件的MD5命名
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5084600.html
Copyright © 2020-2023  润新知