#include  
  < 
  cstdlib 
  > 
  
#include  
  < 
  iostream 
  > 
  

 
  using 
    
  namespace 
   std;

 
  struct 
   IBase
 
  ... 
  {
    int a;              
} 
  ;

 
  struct 
   IA:  
  public 
   IBase
 
  ... 
  {
    int aaa;
} 
  ;

 
  struct 
   IB:  
  public 
   IBase
 
  ... 
  {
    int bbb;
} 
  ;

 
  struct 
   CChild:  
  public 
   IA,  
  public 
   IB
 
  ... 
  {
    int ccc;
} 
  ;
     
 
  int 
   main( 
  int 
   argc,  
  char 
    
  * 
  argv[])
 
  ... 
  {
    CChild * pC = new CChild;
    IB * pB = (IB *)pC;
    
    assert(pB == pC);
    assert((void *)pB != (void *)pC);
    cout << pC << " " << pB << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}