C++ 如何LOG输出父类指针调用的是哪个子类的方法
项目不能debug调试,只能打LOG。其中有一个父类类型的指针调用虚函数_pFather->Start();我想用Log输出该指针指向哪个子类类型,也就是想确认调用的是哪...
项目不能debug调试,只能打LOG。
其中有一个父类类型的指针调用虚函数_pFather->Start();
我想用Log输出该指针指向哪个子类类型,也就是想确认调用的是哪个子类的Start()。
请问有没有什么好方法。
子类有好几十个,并且我不会在每个子类的方法中都加上Log日志吧!!! 展开
其中有一个父类类型的指针调用虚函数_pFather->Start();
我想用Log输出该指针指向哪个子类类型,也就是想确认调用的是哪个子类的Start()。
请问有没有什么好方法。
子类有好几十个,并且我不会在每个子类的方法中都加上Log日志吧!!! 展开
1个回答
展开全部
你可以在子类的Start函数里加上Log日志
Log日志内容为 子类的类名::start
我上面说的方法是最好的,当然方法不止这一个。
你也可以直接判断父类的指针是指向哪一个子类的,不过要写很多判断
if(typeid(*_pFather)== typeid(D1))
{
// _pFather指向D1
}
else if(typeid(*_pFather)== typeid(D2))
{
// _pFather指向D2
}
else
{
// _pFather指向非D1,D2的其他对象
}
更多追问追答
追问
这方法还点和所有的子类做比较。你说的这两种方法我都想到了。
哎,就没有更简单一点的方法了嘛。
追答
没有了,目前就这两种方法了。
我们现在的项目就是用的是第一种,也是常用的一种。
希望采纳!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询