C++ 基类调用虚函数,怎么在Log中输出执行哪个子类的虚函数
C++ 基类调用虚函数,如何在Log中输出执行哪个子类的虚函数。
基类中调用了虚函数vFun1();
可是该基类的子类有好几十个,都有继承了vFun1()函数,并且实现。
有什么方法可以在基类中输出Log语句,知道调用的是哪个子类的vFun1()
------解决方案--------------------
你可以这么玩
直接查看基类指针所指对象的类别不就好了
基类中调用了虚函数vFun1();
可是该基类的子类有好几十个,都有继承了vFun1()函数,并且实现。
有什么方法可以在基类中输出Log语句,知道调用的是哪个子类的vFun1()
------解决方案--------------------
你可以这么玩
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class A
{
public :
A(){}
virtual ~A(){}
};
class B :public A
{
public:
B(){}
~B(){}
};
int _tmain(int argc, _TCHAR* argv[])
{
A a;
B b;
A* pa = new B;
cout<<typeid(a).name()<<" "<<typeid(b).name()<<" "<<typeid(*pa).name();
return 0;
}
直接查看基类指针所指对象的类别不就好了