179e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan#include <stdio.h> 279e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 379e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananstruct A { 479e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan int aa; 579e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan char ab; 679e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan}; 779e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 879e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananstruct B { 979e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan int ba; 1079e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan int bb; 1179e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan}; 1279e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 1379e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananstruct C { 1479e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan int ca; 1579e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan int cb; 1679e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan}; 1779e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 1879e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananint Dump (A &a) 1979e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan{ 2079e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan return 1; 2179e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan} 2279e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 2379e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananint Dump (B &b) 2479e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan{ 2579e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan return 2; 2679e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan} 2779e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 2879e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananint Dump (C &c) 2979e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan{ 3079e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan return 3; 3179e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan} 3279e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 3379e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananextern int CallStaticA(); 3479e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananextern int CallStaticB(); 3579e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 3679e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callananint main() 3779e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan{ 3879e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan A myA; 3979e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan B myB; 4079e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan C myC; 4179e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan 4279e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan printf("%d\n", CallStaticA() + CallStaticB()); // breakpoint 4379e7ad84e2b31baf22e05ab24aaa11b5e0f566a5Sean Callanan} 44