十四周项目三

来源:互联网 发布:oracle12c数据库安装 编辑:程序博客网 时间:2024/05/16 10:36
/** 程序的版权和版本声明部分:* Copyright (c) 2013, 烟台大学计算机学院* All rights reserved.* 文件名称:test.cpp* 作    者:周经纬* 完成日期:2014年 5月 27日* 版 本 号:v12.1* 项目三* 输入描述:无* 问题描述:。* 程序输出:* 问题分析:略* 算法设计:略*/#include<iostream>#include<cstring>using namespace std;class CSolid{public:    virtual double area()=0;    virtual double vti()=0;};class CCube:public CSolid{public:    CCube(double a):r(a){}    ~CCube(){}    double area()    {        return r*r*6;    }    double vti()    {        return r*r*r;    }private:    double r;};class CBall:public CSolid{public:    CBall(double a,double b,double c):chang(a),kuan(b),gao(c){}    ~CBall(){}    double area()    {        return chang*kuan*2+chang*gao*2+kuan*gao*2;    }    double vti()    {        return chang*kuan*gao;    }private:    double chang;    double kuan;    double gao;};class CCylinder:public CSolid{public:    CCylinder(double a,double b):r(a),gao(b){}    ~CCylinder(){}    double area()    {        return 2*r*3.14*gao+r*r*6.28;    }    double vti()    {        return r*r*3.14*gao;    }private:    double r;    double gao;};int main(){    CCube c1(5.1);    CBall c2(3.1,3.2,3.3);    CCylinder c3(2.3,3);    CSolid *p[3]={&c1,&c2,&c3};    cout<<"正方体:表面积:"<<p[0]->area()<<"   体积:"<<p[0]->vti()<<endl;    cout<<"长方体:表面积:"<<p[1]->area()<<"   体积:"<<p[1]->vti()<<endl;    cout<<"圆柱体:表面积:"<<p[2]->area()<<"   体积:"<<p[2]->vti()<<endl;    return 0;}

0 0
原创粉丝点击