派生类的构造函数与析构函数

上一篇 / 下一篇  2012-07-30 11:48:56 / 个人分类:C++

51Testing软件测试网4o @ D#]P ANZ

  当基类构造函数没有参数或没有定义构造函数时,派生类可以不向基类传递参数,甚至可以不定义构造函数。当基类含有带参数的构造函数时,派生类必 须定义构造函数,提供把参数传递给基类构造函数的途径。如果派生类的基类也是派生类,每个派生类子须负责其直接基类成员的初始化。

:bV1{ g!k5{k0

*P L6b~i0#include<iostream>51Testing软件测试网L/SX~&qZ
using namespace std;51Testing软件测试网?}?5Fra&K f@|4J
class B{
6Va.Ogtr0public:51Testing软件测试网#Xe"s&Dv z6}
  B(int n)
-HP.`H B0  {cout<<"constructing B class\n";51Testing软件测试网Kl,deeJ2pM
   i=n;
*T%^%Co cxB2W0  }51Testing软件测试网B*U i? M @qQ-h
  ~B()51Testing软件测试网 kbr VYo7W8D zl9v%m
  {
}@P A&|S g ~o0    cout<<"destructing B class\n";
6Ic_B0uf P\0  }
JY$lI*Ux"N5g%s0  void dispB()
_ Y!Y/O a r9c0  {
)k\8`&kg0G)T0    cout<<"i="<<i<<endl;
}'Ih4J#X VIJ0  }51Testing软件测试网Ng$I+?sEAD^
private:
T9I[ u/\$G?U0 int i;51Testing软件测试网B7M&u,F{,H~0Sk
};
+Df X'P!C0class C:public B{51Testing软件测试网H+pj,v-i&g
public:51Testing软件测试网v5kO5z3R?
 C(int n,int m):B(m)51Testing软件测试网YE"c'_y_
 {51Testing软件测试网 K {1}o5Zm mg
  cout<<"constructing C class\n";51Testing软件测试网E EWM Ux
  j=n;51Testing软件测试网+l2]'KPz{ U
 }51Testing软件测试网a#TXP-HRa
 ~C()51Testing软件测试网 o!Z&im9C ]
 {
M.P jQ@5W,P0       cout<<"destructing C class\n";    
,o3Ln$j ^*z0 }
3_ V v"l)c%v9\0 dispC()51Testing软件测试网L1u C1P(Hp
 {
O)[(g ]1JX0  dispB();51Testing软件测试网5w6kEK"M OB
  cout<<"j="<<j<<endl;51Testing软件测试网m)e!fU x:J
 }
taC1vL Gs0private:51Testing软件测试网JZ@:AF3l _
 int j;

t[0hHu2Bj0

%M7u:T*@!ERC(v$k*C0};
\ u(n&Bp0int main()
SRN3A [+X+v9K[U0{
^p"^O"[KE0 B b(10);
w'\?/hr4z0 b.dispB();
iod6K/fCG0 cout<<"c.dispB()============="<<endl;
:m%_aZp gU(c0 C c(50,60);51Testing软件测试网 I{"VZ*V\
 c.dispB();51Testing软件测试网f:so K]/o
 cout<<"c.dispC()=============="<<endl;
+e%w#}z)@ f0 c.dispC();51Testing软件测试网z-q4Y'~ mx,wj
 return 0;51Testing软件测试网0z%R+e+jOB
}

Jj)[Yz0

51Testing软件测试网QE9{/X&O6a+SI


TAG:

 

评分:0

我来说两句

Open Toolbar