含有一个或多个纯虚函数的类一定是抽象类,这句话是否正确
时间: 2024-02-22 09:58:00 浏览: 200
详解C++纯虚函数与抽象类
5星 · 资源好评率100%
是的,这句话是正确的。含有一个或多个纯虚函数的类被称为抽象类,它不能被实例化。纯虚函数是一种特殊的虚函数,它在基类中没有实现,而是在派生类中被实现。派生类必须实现其基类中所有的纯虚函数,否则它也会成为一个抽象类。
定义一个纯虚函数的语法是在函数声明后面加上`= 0`,例如:
```c++
class Shape {
public:
virtual double area() const = 0;
virtual void draw() const = 0;
};
```
这个类定义了两个纯虚函数area()和draw(),因此它是一个抽象类。任何继承自Shape的派生类都必须实现这两个函数才能被实例化。
需要注意的是,抽象类可以包含非纯虚函数,也可以包含数据成员和成员函数的实现。但是,只有纯虚函数是必须在派生类中实现的,因为它们没有默认实现。
阅读全文