日志20 虚函数与纯虚函数
定义:
类中声明前带有virtual关键字的函数称为虚函数:
class A {
virtual void example();
}
类中申明格式如下的函数称为纯虚函数:
class A {
virtual void example() = 0;
}
即在函数声明中含有virtual和= 0两个关键字。
区别
纯虚函数的特点:
只有声明,没有实现/定义
含有纯虚函数的类称为抽象类,抽象类不能被实例化
抽象类的派生类如果想成为具体的类(能够被实例化),则必须重写纯虚函数。
虚函数的特点:
必须实现/被定义
虚函数所在类可以被实例化
作用以及何时使用
C++中之所以引入虚函数和纯虚函数,就是为了通过函数重写(override)实现多态的效果。
类中声明前带有virtual关键字的函数称为虚函数:
class A {
virtual void example();
}
类中申明格式如下的函数称为纯虚函数:
class A {
virtual void example() = 0;
}
即在函数声明中含有virtual和= 0两个关键字。
区别
纯虚函数的特点:
只有声明,没有实现/定义
含有纯虚函数的类称为抽象类,抽象类不能被实例化
抽象类的派生类如果想成为具体的类(能够被实例化),则必须重写纯虚函数。
虚函数的特点:
必须实现/被定义
虚函数所在类可以被实例化
作用以及何时使用
C++中之所以引入虚函数和纯虚函数,就是为了通过函数重写(override)实现多态的效果。
全部评论
加油
相关推荐
06-12 19:52
吉首大学张家界学院 Python 点赞 评论 收藏
分享