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

原文地址:https://www.cnblogs.com/onlycxue/p/3287630.html