C++中有纯抽象类吗

Are there pure abstract classes in C++?

本文关键字:抽象类 C++      更新时间:2023-10-16

有一个家庭作业问题,问C++中的什么构造与Java接口相似。Java中的接口可以称为纯抽象类,我知道C++有抽象类,但是C++官方拥有的纯抽象类吗

也许从C++设计者的角度来看,这不是,但从技术上讲,通过使所有方法抽象化,在C++中创建一个纯抽象类是可能的,对吧?

我看了一下这个资源,但在阅读了一些答案后,我仍然感到困惑。。。

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

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

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

class A {
public:
    A() {};
    virtual ~A(){};
    virtual void temp() = 0;
};
int main () {
    A a; // compiler error
}