派生类的构造函数与析构函数
上一篇 /
下一篇 2012-07-30 11:48:56
/ 个人分类:C++
$ct/G5Dr5R\Yi0 当基类构造函数没有参数或没有定义构造函数时,派生类可以不向基类传递参数,甚至可以不定义构造函数。当基类含有带参数的构造函数时,派生类必
须定义构造函数,提供把参数传递给基类构造函数的途径。如果派生类的基类也是派生类,每个派生类子须负责其直接基类成员的初始化。
^4mDe0yd;R0UO.k3{],pv"X1?0#include<iostream>51Testing软件测试网:TmDBw6wf using namespace std;51Testing软件测试网@&M9v-OdJ6}"F^&Wz class B{51Testing软件测试网6]_(y4w"c(B public:51Testing软件测试网`PP
`'CoHA B(int n)51Testing软件测试网2d \[~D,` {cout<<"constructing B class\n";51Testing软件测试网9mF?1J:N(J5|Q i=n; ppHT\G
Z1w0 }51Testing软件测试网mj w6B5pQ@ ~B() W^9cDuR0 {51Testing软件测试网*y7Z!j"u
xEni8t*?N cout<<"destructing B class\n"; 8W4X]hTmV'P0 }51Testing软件测试网a#f*E;P~ void dispB() %IJZU]IN*vU7b I0 {51Testing软件测试网g g7i\iZ;xM4z[(t+Y @ cout<<"i="<<i<<endl;51Testing软件测试网cu&q].jfI%jR } 4\(g0Fg
} UQ ]_k0private: rZAr/X'I.s+oy9g1W:R0 int i;51Testing软件测试网\*C5nJ
C)y }; ([+`XW{E:Gc0class C:public B{51Testing软件测试网%~h
rw
H[r0bK
| public: !w AkYJ0 C(int n,int m):B(m)51Testing软件测试网,? DD`+vaR q1|&u {51Testing软件测试网0k6S*c/L ^+wP cout<<"constructing C class\n"; qcS,z3C$L*| {Q.L0 j=n;51Testing软件测试网1{!Dl |L7Y9^2o }51Testing软件测试网D|1t0c`-JY6c*~ ~C() 4AM8Jj&M_oD!?0 {51Testing软件测试网,W0e_0_:qM{e"v2t cout<<"destructing C class\n"; 51Testing软件测试网
M9N7qvtd8d9tH } Ff*]e I;h(F0 dispC() M@&F$b&w7Rl0 {51Testing软件测试网-ZGh/pDyg dispB(); !pyNm*pLv+r&D0 cout<<"j="<<j<<endl;
Ph,iBe!iQ0 }51Testing软件测试网/NE0g"d"i_ private: Ah(o|n"L6p0 int j;51Testing软件测试网i f%`T
L f)kD 51Testing软件测试网#rn7} LJ}z6[};51Testing软件测试网bX
bHt g int main()51Testing软件测试网 ~$G6PM N?,fR {51Testing软件测试网;E5e?,z+nI B b(10);51Testing软件测试网%q3g~7T!Rv b.dispB(); %A-q._Q;A.U0 cout<<"c.dispB()============="<<endl;51Testing软件测试网/i'sT9Oiy9N$L"F C c(50,60); nl\[cB,q3a8g0 c.dispB();51Testing软件测试网st1}+o
w cout<<"c.dispC()=============="<<endl;51Testing软件测试网6c9j-lc^ c.dispC(); 6wH9A@
hyb0 return 0;51Testing软件测试网j
x&j7[t,F V_` }51Testing软件测试网V1F,U%VF ?6EZxO#C |
f!v L&fx0E!C&Y0
收藏
举报
TAG: