在此参考了,ElliottZC和心晴工做室的博客:html
http://www.cppblog.com/ElliottZC/archive/2007/07/20/28417.html程序员
http://www.cnblogs.com/ms-frank/archive/2008/01/16/1041310.html函数
须要注意的地方:spa
一、定义一个函数为虚函数,不表明函数为不被实现的函数。定义他为虚函数是为了容许用基类的指针来调用子类的这个函数。指针
二、定义一个函数为纯虚函数,才表明函数没有被实现。定义他是为了实现一个接口,起到一个规范的做用,规范继承这个。类的程序员必须实现这个函数。 code
三、有纯虚函数的类是不可能生成类对象的,若是没有纯虚函数则能够。htm
四、虚函数在多态中间的使用: 多态通常就是经过指向基类的指针来实现的。对象
五、虚基类,保证了只保留一个实例。blog
六、当指向不明是,没有引入虚函数时,无论引用的实例是哪一个类的当你调用的时候系统会调用左值那个对象所属类的方法。继承
A *p; //定义基类的指针 A a; B b; p=&a; p->funPrint(); p=&b; p->funPrint(); //所以输出都是A的funPrint()函数的内容。