C++中有纯抽象类吗?
Are there pure abstract classes in C++?
有一道作业题询问 C++ 中的什么构造类似于 Java 接口。 Java中的接口可以称为纯抽象class,我知道C++有抽象class,但是是纯抽象class这是 C++ 正式拥有的东西?
也许从 C++ 设计者的角度来看它不是,但从技术上讲,可以通过使所有方法都抽象化来在 C++ 中创建纯抽象 class?
我查看了 this 资源,但在阅读了一些答案后我仍然感到困惑...
是的,您可以在 c++
中创建抽象 class
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++ 中是纯抽象 class,因为它包含方法 bar()
,这是一个纯虚方法。
有一道作业题询问 C++ 中的什么构造类似于 Java 接口。 Java中的接口可以称为纯抽象class,我知道C++有抽象class,但是是纯抽象class这是 C++ 正式拥有的东西?
也许从 C++ 设计者的角度来看它不是,但从技术上讲,可以通过使所有方法都抽象化来在 C++ 中创建纯抽象 class?
我查看了 this 资源,但在阅读了一些答案后我仍然感到困惑...
是的,您可以在 c++
中创建抽象 classclass 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++ 中是纯抽象 class,因为它包含方法 bar()
,这是一个纯虚方法。