C++ 虚函数的详解
虚函数的使用和纯虚函数的使用。
虚函数是在基类定义,然后子类重写这个函数后,基类的指针指向子类的对象,可以调用这个函数,这个函数同时保留这子类重写的功能。
纯虚函数是可以不用在基类定义,只需要声明就可以了,然后因为是纯虚函数,是不能产生基类的对象,但是可以产生基类的指针。
纯虚函数和虚函数最主要的区别在于,纯虚函数所在的基类是不能产生对象的,而虚函数的基类是可以产生对象的。
// pointers to base class
#include
using name
1、原因:
在实现多态时, 当用基类指针操作派生类, 在析构时候防止只析构基类而不析构派生类。
2、例子:
(1)、
#include
using namespace std;
class Base{
public:
Base() {};
~Base() {cout << Output from the destructor of class Base! << endl;};
void DoSomething(
多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。
C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。
下面的实例中,基类 Shape 被派生为两个类,如下所示:
#include
using namespace std;
class Shape {
protected:
int width, height;
public:
Shape( int a=0, int b=0)
{
wid