C ++中是否有纯抽象类?

时间:2015-11-09 20:51:12

标签: c++ class interface abstract

有一个家庭作业问题,询问C ++中的哪些构造类似于Java接口。 Java中的接口可以称为纯抽象类,我知道C ++有抽象类,但是C ++正式具有的纯抽象类

也许从C ++设计者的观点来看,它没有,但从技术上讲,通过使所有方法抽象化,可以在C ++中创建一个纯抽象类?

我查看了this资源,但在阅读了一些答案之后,我仍感到困惑......

2 个答案:

答案 0 :(得分:3)

是的,您可以在c ++中创建一个抽象类

class A {

public:
    A() {};
    virtual ~A(){};
    virtual void temp() = 0;
};

int main () {
    A a; // compiler error
}

答案 1 :(得分:3)

class Foo {
public:
    Foo();
    virtual ~Foo() {};
    virtual void bar() = 0;
}

Foo是C ++中的纯抽象类,因为它包含方法bar(),这是一种纯虚方法。