C++面向对象的多态特性(第二部分)
发布时间
阅读量:
阅读量
一、纯虚函数和抽象类
在多态机制中,父类所定义的虚函数往往不具备实际意义,其主要作用在于被子类覆盖后使用。因此,可以将此类虚函数转化为纯虚函数形式。
纯虚函数的定义方式为:virtual 返回值类型 函数名(参数列表)= 0;
一旦某个类中包含纯虚函数,则该类被归类为抽象类。
抽象类具有以下特性:
1、不能直接创建该类的对象实例;
2、若子类未对抽象类中的所有纯虚函数进行重写,则该子类同样被视为抽象类。
示例:
class Base
{
public:
//纯虚函数
//类中只要有一个纯虚函数就称为抽象类
//抽象类无法实例化对象
//子类必须重写父类中的纯虚函数,否则也属于抽象类
virtual void func() = 0;
};
class Son :public Base
{
public:
virtual void func()
{
cout << "func调用" << endl;
};
};
void test01()
{
Base * base = NULL;
//base = new Base; // 错误,抽象类无法实例化对象
base =
全部评论 (0)
还没有任何评论哟~
