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

📄 eh18.c

📁 this is a gcc file, you can download it and learn its usetility, for further detail please look at t
💻 C
字号:
// Special g++ Options: -fexceptions// excess errors test - XFAIL a29k-*-* sparc64-*-elf arm-*-peclass VB {public:  int n;  VB (int v) { n = v; }  VB (const VB& o) {    n = o.n;//    printf("copying VB from %d to %d\n", &o, this);  }};class D : public virtual VB {  int j;public:  D(int i1, int i2) : VB(i2) { j = i1; }  VB& vb() { return *(VB*)this; }  const VB& vb() const { return *(const VB*)this; }};class pD : private virtual VB {  int j;public:  pD(int i1, int i2) : VB(i2) { j = i1; }  VB& vb() { return *(VB*)this; }  const VB& vb() const { return *(const VB*)this; }};int main () {  D d(1943, 4279);  pD pd(3621, 9527);  VB *vb = &d.vb();  VB *pvb = &pd.vb();  // A catch of a public virtual base.  try {//    printf("Throwing D at %d (VB at %d)\n", &d, vb);    throw d;  }  catch (VB& vb) {//    printf("Catching VB at %d\n", &vb);    if (vb.n != 4279)      return 1;  }  catch (...) {    return 1;  }  // A catch of a private virtual base.  try {//    printf("Throwing D at %d (VB at %d)\n", &pd, pvb);    throw pd;  }  catch (VB& vb) {//    printf("Catching VB at %d\n", &vb);    // This was a private base of the throw object, don't catch it.    return 1;  }  catch (...) {  }}

⌨️ 快捷键说明

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