Code: [show] | [select all]
#include <stdio.h>
struct Object
{
virtual ~Object() {}
};
struct InterfaceA : Object
{
virtual void FooA() = 0;
};
struct InterfaceB : Object
{
virtual void FooB() = 0;
};
struct MyCls : Object, InterfaceA, InterfaceB
{
void FooA() override
{
}
void FooB() override
{
}
};
int main()
{
MyCls * pCls = new MyCls;
InterfaceA * pA = pCls;
InterfaceB * pB = pCls;
Object * pObjA = pA;
Object * pObjB = pB;
printf("%d, %d\n",
pObjA == pB,
pObjA == pObjB);
return 0;
}