16,472
社区成员
发帖
与我相关
我的任务
分享
class A
{
public:
A(){}
virtual ~A(){ TRACE("3\r\n"); }
virtual BOOL Create(DWORD a) {
TRACE("2\r\n");
return TRUE; }
};
class B : public A
{
public:
B() {}
virtual ~B() { TRACE("4\r\n"); }
BOOL Create(DWORD a, DWORD b, int c) {
TRACE("1\r\n");
return true;
}
};
A* p = new B;//这个地方不会自动转换类型了 ((B*)p)->Create(1, 2, 3);
p->Create(1, 2, 3);
class A
{
virtual BOOL Create(DWORD a, DWORD b=0, int c=0) ;
}
class B : public A
{
virtual BOOL Create(DWORD a, DWORD b=0, int c=0) ;
}
p->Create(1, 2, 3);
或者
((B*)p)->Create(1,2,3)