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


    源程序:

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

    #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");

    }

     运行结果:

  • 相关阅读:
    洛谷 P1781 宇宙总统
    洛谷 P2524 Uim的情人节礼物·其之弐(康拓展开)
    洛谷 P1123 取数游戏
    洛谷 P4147 玉蟾宫 & P1169 [ZJOI2007]棋盘制作(求最大子矩阵)
    洛谷 P1387 最大正方形 & P2701 [USACO5.3]巨大的牛棚Big Barn (求最大子正方形)
    洛谷 P1464 Function
    洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes
    洛谷 P1160 队列安排
    洛谷 P1451 求细胞数量
    洛谷 P1914 小书童——密码
  • 原文地址:https://www.cnblogs.com/duanqibo/p/11890311.html
Copyright © 2020-2023  润新知