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

//
//  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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容