荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: littlebao (爱拼才会赢), 信区: Visual
标 题: 看看是调用了那个函数????
发信站: 荔园晨风BBS站 (Sun Aug 24 11:06:00 2003), 站内信件
昨天看com的包容和聚合时一个函数调用的问题搞的我头晕脑胀的
原来一切都是虚函数搞的鬼。大家看看下面的
pB->BFun1() ;
pB->BFun2() ;
pB->BFun3()
分别调用的是那个函数??
#include "stdafx.h"
#include "iostream"
using namespace std ;
class CA
{
public :
virtual void fun1() = 0 ;
virtual void fun2() = 0 ;
virtual void fun3() = 0 ;
};
class CB
{
public :
virtual void BFun1() = 0 ;
virtual void BFun2() = 0 ;
virtual void BFun3() = 0 ;
};
class CC : public CA
{
public :
virtual void fun1() {cout<<"fun1"<<endl ;}
virtual void fun2() {cout<<"fun2"<<endl ;}
virtual void fun3() {cout<<"fun3"<<endl ;}
};
int _tmain(int argc, _TCHAR* argv[])
{
CB * pB = NULL ;
CC Ctest ;
pB = reinterpret_cast<CB *>(static_cast<CA*>(&Ctest)) ;
pB->BFun1() ;
pB->BFun2() ;
pB->BFun3() ;
return 0;
}
--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 61.144.235.40]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店