64,637
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
class I {
public:
virtual void v() = 0;
};
class B {
public:
B(){}
~B(){}
int m_var;
};
class C : public B, public I {
public:
C(){}
~C(){}
int m_var;
//implement interface I
virtual void v(){}
};
int main(int argc, char* argv[])
{
I* pi = new C;
delete pi;
return 0;
}
#include "stdafx.h"
class I {
public:
virtual void v() = 0;
};
class B {
public:
B(){}
virtual ~B(){}
int m_var;
};
class C : public B, public I {
public:
C(){}
virtual ~C(){}
int m_var;
//implement interface I
virtual void v(){}
};
int main(int argc, char* argv[])
{
I* pi = new C;
delete pi;
return 0;
}
int main(int argc, char* argv[])
{
C* pc = new C;
B* pb = pc;
I* pi = pc;
printf("addr(I)=%p, addr(B)=%p, addr(C)=%p\n", pi, pb, pc);
printf("addr(B.var)=%p, addr(C.var)=%p", &pb->m_var, &pc->m_var);
delete pi;
return 0;
}
#include "stdafx.h"
class B {
public:
B(){m_var = 0;}
int m_var;
virtual void v() = 0;
};
class C : public B {
public:
C(){m_var = 0;}
int m_var;
virtual void v(){}
};
int main(int argc, char* argv[])
{
B* pb = new C;
delete pb;
return 0;
}
#include "stdafx.h"
class B {
public:
B(){m_var = 0;}
int m_var;
};
class C : public B {
public:
C(){m_var = 0;}
int m_var;
virtual void v(){}
};
int main(int argc, char* argv[])
{
B* pb = new C;
delete pb;
return 0;
}