#include <iostream.h>
class Base1
{
public:
virtual void Show1()
{
}
};
class Base2
{
public:
virtual void Show2()
{
}
};
class Derived :public Base1,Base2
{
public:
int *ShowAdd(int num)
{
if(num==1)
return (int *)((Base1 *)this);
else if(num==2)
return (int *)((Base2 *)this);
else
return NULL;
}
};
void main()
{
Derived derived;
cout<<derived.ShowAdd(1)<<endl;//两个返回的值,不是同一个值,这和多重继承有关
cout<<derived.ShowAdd(2)<<endl;//可以合理的运用在COM控件操作中
}