zoukankan      html  css  js  c++  java
  • 设计一个线段基类,当创建无参数对象时,才要求用户输入长度。同样,其派生的直角三角形类也是在产生对象时要求输入两个直角边的长度。

    源程序:

    //直角三角形在派生矩形类,矩形类的参数也由键盘输入。设计这些类并测试他们的功能。

    #include < iostream >

    #include < cmath >

    using namespace std;

    class Line//线段基类

    {

    protected:

      double sizeA;

    public:

      Line()

      {

        cout << "输入线段的长度:" << endl;

        cin >> sizeA;

      }

      Line(double a)

      {

        sizeA = a;

      }

      double getLength()

      {

        return sizeA;

      }

    };

    class Triangle : public Line//三角形类

    {

    protected:

      double sizeB, sizeC;

    public:

      Triangle()

      {

        cout << "输入线段长度:" << endl;

        cin >> sizeB;

        sizeC = sqrt(sizeB * sizeB + sizeA * sizeA);

      }

      void printSize()

      {

        cout << "直角三角形,三条边分别为:";

        cout << "A: " << sizeA << ", b: " << sizeB << ", C: " << sizeC << endl;

      }

    };

    class Rectangle : public Triangle//矩形类

    {

    protected:

      double sizeD;

    public:

      Rectangle()

      {

        sizeC = sizeA;

        sizeD = sizeB;

      }

      void printSize()

      {

        cout << "矩形,四条边分别为:";

        cout << "A: " << sizeA << ", b: " << sizeB << ", C: " << sizeC << ", D: " << sizeD << endl;

      }

    };

    void main()

    {

      Line *l = new Line();

      cout << "线段长度为:" << l->getLength() << endl;

       Triangle *t = new Triangle();

      t->printSize();

      Rectangle *r = new Rectangle();

      r->printSize();

      system("pause");

    }

     运行结果:

  • 相关阅读:
    单播、广播和多播IP地址
    nagios安装部署及详细配置说明(转)
    centos6.5下cacti部署说明
    HAproxy配置详解
    mysql全量和增量备份详解(带脚本)
    lvs原理及安装部署详解(参考)
    curl命令的用法
    mysql日志解析
    MySQL查看和修改表的存储引擎
    mysql备份和还原
  • 原文地址:https://www.cnblogs.com/duanqibo/p/11890311.html
Copyright © 2011-2022 走看看