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;
    }
  • 相关阅读:
    下巴肉和脖子肉怎么减肥
    java中compareTo和compare方法之比较,集合中对象的比较
    easyui中combotree只能选子选项,父级不被选中
    java线程总结(2/5)
    流行的框架与新技术
    Spring官网改版后下载
    prepareStatement与Statement的区别
    jQuery li click失效问题
    Flask 启动报错 error: [Errno 10053]
    [linux]CentOS 7 下安装 RabbitMQ
  • 原文地址:https://www.cnblogs.com/superrunner/p/10152754.html
Copyright © 2011-2022 走看看