zoukankan      html  css  js  c++  java
  • C++实训(3.2)

    请编写一个抽象类shape,在此基础上派生出类Rectangle和Circle,两者都有计算面积的函数GetArea()、计算对象周长的函数GetPerim()。

    抽象类

    源程序:

    #include<iostream>
    #define PI 3.1415926;
    using namespace std;
    class Shape //抽象类bai的 定义
    {
    public:
    virtual double GetArea() = 0; //纯虚函数du
    virtual double GetPerim() = 0; //纯虚函数
    };
    class Rectangle : public Shape //矩形类,公zhi有继承
    {
    public: Rectangle(double aa, double bb) //带参数的 构造函数
    {
    a = aa;
    b = bb;
    cout << "长dao" << a << "宽" << b << endl;
    }
    virtual double GetArea()
    {
    return a * b;
    }
    virtual double GetPerim()
    {
    return 2* (a + b );
    }
    private:
    double a;
    double b;
    };
    class Circle : public Shape //圆类,公有继承
    {
    public: Circle(double rr) //带参数的 构造函数
    {
    r = rr;
    cout << "半径" << r << endl;
    }
    virtual double GetArea()
    {
    return r * r * PI;
    }
    virtual double GetPerim()
    {
    return 2 * r * PI;
    }
    private:
    double r;
    };
    void main()
    {
    double length, width;
    cout << "输入长和宽: ";
    cin >> length >> width;
    Rectangle rect(length, width);
    cout << "面积是:" << rect.GetArea() << endl << "周长是:" << rect.GetPerim() << endl;
    double rr;
    cout << "输入半径: ";
    cin >> rr;
    Circle cir(rr);
    cout << "面积是:" << cir.GetArea() << endl << "周长是:" << cir.GetPerim() << endl;
    }

    运行结果:

  • 相关阅读:
    oracle 调优3
    ifconfig找不到命令的帖子 精选
    执行计划中各字段各模块描述
    oracle统计信息
    oracle中 rownum与rowid的理
    触发器
    开园第一天
    Asp.net生成htm静态文件的两种途径
    避免刷新页面,自动跳回到页面顶部的办法
    ASP.NET二级域名站点共享Session状态
  • 原文地址:https://www.cnblogs.com/duanqibo/p/13149904.html
Copyright © 2011-2022 走看看