类的派生实现求长方体体积

来源:互联网 发布:网络教育大专文凭没用 编辑:程序博客网 时间:2024/04/27 21:24
/*试定义 RECT 类(长方形)及其派生类 CUB(长方体),具体要求如下: (1)类 RECT 的成员如下:     (a)保护数据成员     double x,y; 分别表示长方形的长和宽。     (b)公有成员函数     RECT(double x1,double y1);构造函数,分别用 x1、y1 初始化 x 和 y。     virtual double area( ); 虚函数,计算长方形的面积,计算公式:面积=长×宽。     double peri( ); 计算长方形的周长。计算公式:周长=2×长+2×宽。     virtual int isSquare( ); 虚函数,判断是否为正方形,如是,返回 1;否则返回 0。 (2) 类 CUB 为类 RECT 的公有派生类,其成员如下:     (a) 私有数据成员     double height;  表示长方体的高度。     (b) 公有成员函数     CUB( ); 构造函数,用 h、x、y 分别初始化 height 及其基类成员 x 和 y。     double volume( ); 计算长方体的体积。计算公式:体积=底面积×高,其中底面积通过调用基类成员函数 area( )计算。     double area(); 计算长方体的表面积。计算公式:表面积=2×底面积+底面周长×高度。底面积和底面周长分别调用基类成员函数area()和peri()计算。     int isSquare();判断是否为正方体,如是,返回1,否则返回0。在判断过程中,首先调用基类的成员函数isSquare()判断底面是否为正方形。 (3)在主函数中,创建一个CUB对象cu和一个RECT指针*re,并使re指向cu。通过cu调用volume(),计算并输出长方体的体积;通过re调用area()和isSquare(),计算并输出长方体的表面积,并判断是否为正方体。*/#include<iostream>using namespace std;class RECT{protected:    double x, y;public:    RECT(double, double);    virtual double area();    double peri();    virtual int isSquare();};RECT::RECT(double x1, double y1){    x = x1;    y = y1;}double RECT::area(){    return x*y;}double RECT::peri(){    return 2 * (x + y);}int RECT::isSquare(){    if (x == y)        return 1;    else        return 0;}class CUB :public RECT{private:    double height;public:    CUB(double ,double ,double);    double volume();    double area();    int isSquare();};CUB::CUB(double h, double x1, double y1) :RECT(x1, y1){    height = h;}double CUB::volume(){    return RECT::area()*height;}double CUB::area(){    return (2 * RECT::area() + RECT::peri()*height);}int CUB::isSquare(){    if (RECT::isSquare() && x == height)        return 1;    else        return 0;}int main(){    CUB cu(3,3,3);    RECT *re;    re = &cu;    cout<<cu.volume()<<endl;    cout << re->area() << endl;    cout << re->isSquare() << endl;    system("pause");    return 0;}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 车辆被扣30分怎么办 驾驶证被扣15分怎么办 驾驶本被扣分了怎么办 违章扣分扣错了怎么办 出国自驾游怎么办手续 新加坡开车工作遇到坏人怎么办 身份证户口本都丢了怎么办 户口本和身份证都丢了怎么办 网上预约挂完号没收到短信怎么办 驾驶证过了换证期限怎么办 身体弱末梢神经循环不好怎么办 自来水钙镁离子超标怎么办 呼吸感觉有煤烟味是怎么办 酒精弄到衣服上怎么办 孕妇吃了糟卤怎么办 气泡机打不了气怎么办 膝盖好冷好凉怎么办吃什么好 卸妆水进眼睛了怎么办 外出没带卸妆水怎么办? 种睫毛卸睫膏弄眼睛里面了 怎么办 化了妆没卸妆水怎么办 痘痘变成了黑痣怎么办 痘痘形成的痣怎么办 图片文件重命名改不了怎么办 想给宝宝改名字怎么办 洗照片像素过低怎么办 用ps改尺寸照片变形怎么办 平安银行卡三次密码错误怎么办 平安银行卡密码忘了怎么办 平安银行行用卡多次还款怎么办 平安银行大润发卡还不上怎么办 八载图片被投诉怎么办 ps用替换颜色后怎么办 三星s8百度闪退怎么办 吃了过敏的东西怎么办 过敏了痒的厉害怎么办 脸吃麻辣过敏了怎么办 脸过敏发红痒怎么办急救 脸过敏怎么办快速治疗方法 下巴起噶的过敏怎么办 药物过敏脸肿了怎么办