zoukankan      html  css  js  c++  java
  • 第十三周(立体类族共同拥有的抽象类)

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


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

  • 相关阅读:
    Permutation Sequence
    Sqrt(x)
    Search in Rotated Sorted Array ||
    [STL]list的erase正确与错误用法
    一个支持Git应用编程开发的第三方库(API)
    VC++生成full dump文件
    Maven构建C++工程的插件-NAR
    VC++ Watch窗口查看指针指向的数组
    Android SDK更新失败的解决方法
    ADT20新建项目Android Support library not installed问题
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5084600.html
Copyright © 2011-2022 走看看