虚类
含有虚函数的类
含有虚函数的类是虚类,虚函数用关键字virtual声明。
定义
虚函数表明只有在程序使用到该函数时,才获得与调用对象对应的该函数的实现。
纯虚类
含有纯虚函数的类是纯虚类,更多的是叫抽象类。纯虚类可以有成员变量。纯虚类不能实例化。
虚函数
虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式:
virtual 函数返回值类型 虚函数名(形参表)
虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数。
纯虚函数没有函数体。
相同和不同处
c++虚类相当与java里面的抽象类,与接口的不同之处如下:
1、一个子类只能继承一个抽象类(虚类),但能实现多个接口;
2、一个抽象类可以有构造方法,接口没有构造方法;
3、一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方法体),接口中的方法都是抽象方法,不能有方法体,只有声明;
4、一个抽象类可以是public、private、protected、default, 接口只有public和default;
5、一个抽象类中的方法可以是public、private、protected、default, 接口中的方法只能是public。
相同之处:都不能实例化。
参考资料
最新修订时间:2024-05-21 17:39
目录
概述
定义
纯虚类
虚函数
相同和不同处
参考资料