鱼C论坛

 找回密码
 立即注册
查看: 2961|回复: 0

[C++个人笔记] 62.调用构造函数进行类型转换

[复制链接]
发表于 2013-3-21 14:04:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑 9 E. O8 P% K, X" d0 F( p
2 ?6 v  u; a5 t$ v. ^% B
Unnamed QQ Screenshot20130321140150.gif 8 ?! ]& b3 d" B9 Y4 Z
#include <iostream>0 ]% X- I# z5 a* P

" Q; J$ E: q: Y  z6 U7 Susing namespace std;
5 \- o- c1 }* E' p
$ H" ]. k/ E, u, ]8 G& U' iclass CA
$ U  \/ e; J# c' R/ g$ w/ S{
  B5 K  l0 m2 z$ X" m& Cpublic:
: q2 u/ B: ?! D7 F* e9 {        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题
" U/ B. S* ]  @! H        ~CA();
: w. V# ~$ k( R3 o# d        void get();1 B4 `8 s* o3 r) |$ f4 ~

' S. H  U( @5 {' E; g- Kprivate:  \6 G6 v7 B3 z* c: R
        int i;7 I9 G4 s; f, X, c  |3 l9 `
};
; z# Y1 o" z) T& L7 q4 W
! N8 M8 a. u: \- }0 l' ICA::CA(int x)- q" ^) x6 }+ n% K
{1 X/ J; t) m4 d& M! S& B0 O9 C
        i=x;
( W' m- D' p5 @  r7 E        cout<<"构造函数在执行..."<<i<<endl;
+ }9 j/ I. o+ U0 S/ K}
- V/ ?% ?! P0 [void CA::get()
  {3 i+ L2 K3 I5 d3 P{( ^9 ]/ F. t1 s# K) Q- P- u0 p
        cout<<i<<endl;
& ^+ a4 ~- m( A' C) s( z3 n}4 L" c" M1 @$ o3 w! Z

) |: S$ x" R* A6 kCA::~CA()
' q+ G% |) |% B' v; |{
' f: V8 m0 @3 L: s        cout<<"析构函数在执行..."<<i<<endl;
. q" A. y2 T8 b4 e}. S) C; {9 c3 D* O

% g( x! a; J- `: v' h6 K7 T% {int main(void)9 ^9 [* }: I# ~8 `
{
, z3 M. ]4 A- E) j1 p2 O# S7 w% Q        CA a(99);
& E( p0 x# S" m        a.get();
6 H& v1 P% K( O        a=CA(1000);( X9 q* c  g' N: e! z$ n3 _
9 [! O# n( c/ T& f. H+ H
        return 0;
% E; j  t' [& [( H2 v6 x}2 W1 C5 \. x  O8 b! v+ X
( [* P- F. n2 J
小甲鱼最新课程 -> https://ilovefishc.com

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-9-19 06:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表