本帖最后由 (@_@) 于 2013-3-21 14:42 编辑 : x5 g; M/ i' z7 r) X5 u4 a
" y ]! B' v: J. r( `2 K: u$ P
5 Y8 j+ X0 E' N7 |7 N% @2 K
#include <iostream>! m% `1 p w* k
7 l9 H: V/ x' N2 C' |using namespace std;4 Y4 c* ]: Y9 G8 L/ q! r* }4 c
) B* S7 A1 l0 U: {* C) B( ~, ^( Gclass CA 1 n3 P' z- ?5 B8 ^( v: E{5 t X6 R% d7 ^
public: 9 r1 |$ N* l" |: P1 u& j+ [- J explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题7 \/ k; Q# b/ @8 B+ F' O& F
~CA();6 g# n; U& H2 i
void get(); & L5 \) B7 W K$ s K3 K7 b- q% N; E! H
private:, s5 ^5 R3 [1 Y4 w( R3 M
int i;: l; u9 `- {7 g8 x* F6 B \, c/ B0 j
};4 Q/ K0 s0 E( d
; }6 \% Q- T8 k
CA::CA(int x) * }* ]9 J0 }- S3 \7 t6 a{& I) T9 i; Y3 Y
i=x; , C8 W# ~7 z% i% o1 ^% F5 C cout<<"构造函数在执行..."<<i<<endl; x$ b- K+ r) P+ z- R6 {9 N
}$ j0 I1 E; Z" d$ G& i# ^
void CA::get() 1 Y! y; U! I% Y8 _' ?{ , A$ {9 o2 j7 a: [! g8 g, i cout<<i<<endl; 8 M# D& ?9 d% D' R) X9 y4 A3 {} 8 y9 M# n9 K8 a1 b8 Y" i 5 Y" V2 C# @/ z+ V) {8 {- cCA::~CA() " l7 a1 Y7 Q+ I& A# \{ % }- b$ {1 l: U; l' D# |# E0 t cout<<"析构函数在执行..."<<i<<endl; # S5 V6 Q0 f5 i6 Y1 M3 ~} 2 c6 u: t0 ?5 k! `) F3 u- U5 M. q( y1 E4 t
int main(void) " z0 i1 V) U, V! a* m{ L, @" S* O( G& x$ F9 L! Z% f CA a(99);5 J! w' S0 I% j8 y/ N& U+ P
a.get(); 0 O" K; f" j" a( E6 I& I a=CA(1000);5 ^2 A& W# F: f- @, x9 O
, \% H6 p2 e, x6 [3 n& l return 0; ) o) n0 F* k0 y4 j% R9 b} 5 H6 y0 W0 H b( n' I + w5 u6 t# z ~3 T9 Z