c++ 多态问题(在虚函数里调用虚函数)
最近在看cocos2d-x的源码,非常感激cocos2d作者的开源精神。在看代码的过程中感觉两个方向让我受益,1.把之前从书中看到的c++知识,明白了怎么运用。2.学习作者驾驭代码的巧妙方法。
看coco2d-x的时候我发现了自己对多态之前不了解的知识,废话少说上代码:
#include <iostream> #include <string> using namespace std; class parent { public: virtual void printMsg(); virtual std::string title(); }; std::string parent::title() { return "i am parent"; } void parent::printMsg() { std::cout<< title() << std::endl; } class child:public parent { public: virtual void printMsg(); virtual std::string title(); }; std::string child::title() { return "i am child"; } void child::printMsg() { parent::printMsg(); //std::cout<< title() << std::endl; } int main() { child *p = new child(); p->printMsg(); getchar(); return 0; }
打印信息为:i am child