fork download
  1. struct A
  2. {
  3. unsigned int m_uiField;
  4. };
  5.  
  6. struct B : A
  7. {
  8. virtual void VirtualMethod() { }
  9. };
  10.  
  11. int main()
  12. {
  13. A instance_a;
  14. B instance_b;
  15.  
  16. unsigned int A::* ptrA = &A::m_uiField;
  17. unsigned int B::* ptrB = &B::m_uiField;
  18.  
  19. // application:
  20. unsigned int value = instance_a.*ptrA;
  21. value = instance_b.*ptrA;
  22. //value = instance_a.*ptrB; // incompatible types
  23. value = instance_b.*ptrB;
  24.  
  25. // also:
  26. A* dynamic = new B();
  27. value = dynamic->*ptrA; // etc
  28. }
  29.  
Success #stdin #stdout 0s 2852KB
stdin
Standard input is empty
stdout
Standard output is empty