有一个家庭作业问题,询问C ++中的哪些构造类似于Java接口。 Java中的接口可以称为纯抽象类,我知道C ++有抽象类,但是C ++正式具有的纯抽象类?
也许从C ++设计者的观点来看,它没有,但从技术上讲,通过使所有方法抽象化,可以在C ++中创建一个纯抽象类?
我查看了this资源,但在阅读了一些答案之后,我仍感到困惑......
答案 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()
,这是一种纯虚方法。