美文网首页
C++抽象类的基本的小实例

C++抽象类的基本的小实例

作者: 司马捷 | 来源:发表于2016-08-02 17:17 被阅读26次
    //
    //  main.cpp
    //  C++ 纯虚函数和抽象类在多继承中的应用
    //
    //  Created by 扆佳梁 on 16/8/2.
    //  Copyright © 2016年 Eric. All rights reserved.
    //
    
    #include <iostream>
    
    using namespace std;
    
    class Figure{
    public:
        //子类 统一调用的接口,让子类使用,让子类必须去实现继承
        virtual void getArea() = 0;
    };
    
    class Circle:public Figure{
        
    public:
        Circle(int a,int b){
            this->a = a;
            this->b = b;
        }
        
        void getArea(){
            cout<<"圆形的面积是:"<<3.14*a*a<<endl;
        }
    private:
        int a;
        int b;
    };
    
    class Tri:public Figure{
        
    private:
        int a;
        int b;
    public:
        Tri(int a,int b){
            this->a = a;
            this->b = b;
        }
        void getArea(){
            cout<<"三角形面积:"<<a*b/2<<endl;
        }
    };
    
    class Square:public Figure{
    private:
        int a;
        int b;
        
    public:
        Square(int a,int b){
            this->a = a;
            this->b = b;
        }
        
        void getArea(){
            cout<<"四边形的面积"<<a*b<<endl;
        }
    };
    
    
    void objPlay(Figure *base){
        base->getArea();
    }
    
    int main(int argc, const char * argv[]) {
        // insert code here...
        std::cout << "Hello, World!\n";
        
        //Figure *base = NULL;//抽象类不能被实例化
        Circle c1(10,20);
        Tri t1(20,30);
        Square s1(50,60);
        
        objPlay(&c1);
        objPlay(&t1);
        objPlay(&s1);
        
        
        
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:C++抽象类的基本的小实例

          本文链接:https://www.haomeiwen.com/subject/ojafsttx.html