所谓接口继承,就是派生类只继承函数的接口,也就是声明;而实现继承,就是派生类同时继承函数的接口和实现。
我们都很清楚C++中有几个基本的概念,虚函数、纯虚函数、非虚函数。
虚函数:
虚函数是指一个类中你 希望 重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用的是继承类的版本。——MSDN 虚函数用来表现基类和派生类的成员函数之间的一种关系 .
虚函数的定义在基类中进行 , 在需要定义为虚函数的成员函数的声明前冠以关键字 virtual.
基类中的某个成员函数被声明为虚函数后 , 此虚函数就可以在一个或多个派生类中被重新定义 .
在派生类中重新定义时 , 其函数原型 , 包括返回类型 , 函数名 , 参数个数 , 参数类型及参数的先后顺序 , 都必须与基类中的原型完全相同 .
虚函数是重载的一种表现形式 , 是一种动态的重载方式 .
纯虚函数:
纯虚函数在基类中没有定义,它们被初始化为0。
任何用纯虚函数派生的类,都要自己提供该函数的具体实现。
定义纯虚函数
virtual void fun(void) = 0;
我们都很清楚C++中有几个基本的概念,虚函数、纯虚函数、非虚函数。
虚函数:
虚函数是指一个类中你 希望 重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用的是继承类的版本。——MSDN 虚函数用来表现基类和派生类的成员函数之间的一种关系 .
虚函数的定义在基类中进行 , 在需要定义为虚函数的成员函数的声明前冠以关键字 virtual.
基类中的某个成员函数被声明为虚函数后 , 此虚函数就可以在一个或多个派生类中被重新定义 .
在派生类中重新定义时 , 其函数原型 , 包括返回类型 , 函数名 , 参数个数 , 参数类型及参数的先后顺序 , 都必须与基类中的原型完全相同 .
虚函数是重载的一种表现形式 , 是一种动态的重载方式 .
纯虚函数:
纯虚函数在基类中没有定义,它们被初始化为0。
任何用纯虚函数派生的类,都要自己提供该函数的具体实现。
定义纯虚函数
virtual void fun(void) = 0;