zoukankan      html  css  js  c++  java
  • *** C++小程序:示例面向对象设计

    #include <iostream>
    
    using namespace std;
    
    class Shape
    {
    public:
        virtual void display(void) = 0;
        virtual void setValue(void) = 0;
    };
    
    class Circle: public Shape
    {
    public:
        Circle(int x=1):radius(x){}
        ~Circle(){}
        virtual void display(void)
        {
            cout << "square is ";
            cout << 3.14*radius*radius << endl;
        }
        virtual void setValue(void)
        {
            cout << "Enter radium:" << endl;
            cin >> radius;
        }
    private:
        int radius;
    };
    
    class Rectangle: public Shape
    {
    public:
        Rectangle(int x=1, int y=1):longth(x),width(y){}
        ~Rectangle(){}
        virtual void display(void)
        {
            cout << "square is ";
            cout << longth*width << endl;
        }
        virtual void setValue(void)
        {
            cout << "Enter longth:" << endl;
            cin >> longth;
            cout << "Enter " << endl;
            cin >> width;
        }
    private:
        int longth;
        int width;
    };
    
    class Square: public Shape
    {
    public:
        Square(int x=1):longth(x){}
        ~Square(){}
        virtual void display(void)
        {
            cout << "square is ";
            cout << longth*longth <<endl;
        }
        virtual void setValue(void)
        {
            cout << "Enter longth:" << endl;
            cin >> longth;
        }
    private:
        int longth;
    };
    
    int main()
    {
        Circle a;
        Rectangle b;
        Square c;
        Shape * p;
        int what;
        bool loop = true;
        
        while(loop)
        {
            cout << "-------------------------" << endl;
            cout << "input a integer:" << endl;
            cout << "1: Circle" << endl;
            cout << "2: Rectangle" << endl;  
            cout << "3: Square" << endl;
            cout << "4: Quit" << endl;
        
            cin >> what;
            switch(what)
            {
                case 1: p = &a;break;
                case 2: p = &b;break;
                case 3: p = &c;break;
                case 4: loop = false;continue;
                default: 
                        cout << "Invalid option!" << endl;
                        continue;
            }
            p->setValue();
            p->display();
        }
        
        return 0;
    }
  • 相关阅读:
    提问必备-如何有效的提问?
    通过jdbc驱动连接thriftserver
    在idea上使用springboot构建ssm项目(一)
    二柱子与他的计算题
    JavaScript
    表单格式化
    2020.10.09
    HTML书写规范
    下拉列表框 JComboBox
    用户登录界面
  • 原文地址:https://www.cnblogs.com/superrunner/p/10152754.html
Copyright © 2011-2022 走看看