class A
{
int a;
public:
A(int n = 0): a(n){}
...
};
class B : public A
{
int b;
public:
B(int m = 0, int n = 0): A(n),b(m){}
...
};
class C : public B
{
int c;
public:
C(int q = 0, int m = 0, int n = 0): B(m, n), c(q){}
...
};
C类的构造函数只能调用B类的构造函数,而B类的构造函数只能调用A类的构造函数。这里,C类的构造函数使用值q,并将值m和n传递给B类的构造函数;而B类的构造函数使用值m,并将值n传递给A类的构造函数。