繁体   English   中英

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

[英]Are there pure abstract classes in C++?

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

也许从C ++设计人员的角度来看不是这样,但是从技术上讲,可以通过使所有方法抽象正确来在C ++中创建纯抽象类?

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

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

class A {

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM