8-4.cpp

来自「学习c++的ppt」· C++ 代码 · 共 42 行

CPP
42
字号
#include <iostream.h>
class A {
    int a;
  public:
    A(int i) {a = i;cout<<"Constructor ia called in A\n";}
    void print()  { cout << a << ","; }
    ~A() {cout << "Destructor is called in A\n"; }
};
class B1:virtual public A {
    int b1;
  public:
    B1(int i, int j):A(i)  {
        b1 = j; cout<<"Constructor ia called in B1\n";
    }
    void print()  { 
        A::print();  cout << b1 << ","; 
    }
    ~B1() {cout << "Destructor is called in B1\n"; }
};
class B2:virtual public A {
    int b2;
  public:
    B2(int i, int j):A(i)  {
        b2 = j; cout<<"Constructor is called in B2\n";
    }
    void print()  {  A::print();  cout << b2 << ","; } 
    ~B2() {cout << "Destructor is called in B2\n"; }
};
class C:public B1, public B2 {
    int c;
  public:
    C(int i, int j, int k, int l, int m):B1(i, j),B2(k, l),A(i)  {
        c = m; cout<<"Constructor is called in C\n";
    }
    void print() {B1::print(); B2::print(); cout<<c<<endl;}
    ~C() {cout << "Destructor is called in C\n"; }
};
void main()
{  C  c(16, 19, 23, 25, 38);
    c.print();
}

⌨️ 快捷键说明

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