首页 > 编程语言 > 详细

C++ 纯虚函数

时间:2019-11-16 22:54:45      阅读:105      评论:0      收藏:0      [点我收藏+]

C++纯虚函数(抽象类)

纯虚函数类似JAVA中的抽象类
如果父类有纯虚函数,子类继承时,如果不去实现这个函数,则不能被实例化

没有实现纯虚函数:

#include <iostream>
/**
 * C++纯虚函数(抽象类)
 */

using namespace std;

class Shape {
public:
    Shape();

    ~Shape();

    virtual double calcArea();

    virtual void test()=0;
};

class Circle : Shape {
public:
    Circle(int r);

    ~Circle();


protected:
    int m_r;
};

Circle::Circle(int r) {
    m_r = r;
}

Circle::~Circle() {

}

Shape::Shape() {

}

Shape::~Shape() {

}

double Shape::calcArea() {

}

int main() {
    //纯虚函数
    Circle circle(2); //直接报错,无法编译, 没有实现纯虚函数

    return 0;
}

实现纯虚函数

#include <iostream>
/**
 * C++纯虚函数(抽象类)
 */

using namespace std;

class Shape {
public:
    Shape();

    ~Shape();

    virtual double calcArea();

    virtual void test()=0;
};

class Circle : Shape {
public:
    Circle(int r);

    ~Circle();

    virtual void test();

protected:
    int m_r;
};

Circle::Circle(int r) {
    m_r = r;
}

Circle::~Circle() {

}

void Circle::test() {
    cout << "test()" << endl;
}

Shape::Shape() {

}

Shape::~Shape() {

}

double Shape::calcArea() {

}

int main() {
    //纯虚函数
    Circle circle(2); //实现纯虚函数后 编译执行通过

    return 0;
}

C++ 纯虚函数

原文:https://www.cnblogs.com/wuyanzu/p/11874330.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!