1、在c++函数前后使用const的作用是不同的:
在函数前面添加const表示返回值为const类型的变量;
在函数后面添加const表示函数不可以修改class类的成员。
2、在函数后面使用const =0 (都是和virtual关键字同时使用的),表示是一个纯虚函数,不能具有函数实现,但是子类必须实现该函数,拥有纯虚函数的类称为抽象类,不能进行实例化,但是可以创建指针和引用来指向子类
class Shape {
public:virtual void draw() const = 0; // 纯虚函数
};class Circle : public Shape {
public:void draw() const override {// 实现 draw 函数}
};int main() {// Shape shape; // 错误,不能创建抽象类的实例Circle circle;circle.draw(); // 调用派生类中的实现return 0;
}
传送门