⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmf1.c

📁 gcc-you can use this code to learn something about gcc, and inquire further into linux,
💻 C
字号:
// extern "C" printf(const char *, ...);class X{public:  int  a;  int f(int);};class Y{public:  int b;  int c;  int g(int);};class MD : public X, public Y{public:  int c;  int hf(int);};int MD::* pmi0 = &MD::a;int MD::* pmi1 = &MD::b;int MD::* pmi2 = &MD::c;int (MD::* pmf0)(int) = &MD::f;int (MD::* pmf1)(int) = &MD::g;int (MD::* pmf2)(int) = &MD::hf;int main(){  MD obj;  int fail = 0;  obj.a = 1;  obj.b = 2;  obj.c = 3;  obj.*pmi0 = 7;  obj.*pmi1 = 8;  obj.*pmi2 = 9;  fail += (obj.*pmf0)(7);  fail += (obj.*pmf1)(8);  fail += (obj.*pmf2)(9);#if 0  if (fail != 0)    printf ("failed %d tests\n", fail);  else    printf ("passed\n");  printf ("sizeof(X) = %d, sizeof(Y) = %d, sizeof(MD) = %d\n",	  sizeof(X), sizeof(Y), sizeof(MD));#endif  return fail;}int X::f(int v){  if (v != a)  {//    printf ("failed in X::f, a = %d\n", a);    return 1;  }  return 0;}int Y::g(int v){  if (v != b)  {//    printf ("failed in Y::g, b = %d\n", b);    return 1;  }  return 0;}int MD::hf(int v){  if (v != c)  {//    printf ("failed in MD::hf, c = %d\n", c);    return 1;  }  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -