鱼C论坛

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

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

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

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

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

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑 6 Q9 r! m: v9 K6 E
8 ~. G* R8 s8 S: a4 |
Unnamed QQ Screenshot20130321140150.gif " X- t" ^. V4 s
#include <iostream>
1 `+ T2 J! r/ \9 x* ?- k1 P4 i( z% ^/ i# e& V7 d; m; i
using namespace std;
1 S7 {# p5 a( B1 d0 R3 r  f
; w: p& ?3 z( tclass CA2 M, m; V6 h! O" s
{$ F" T) \2 Q$ D: ^: V
public:
7 Y0 i4 b% f" ^0 p, k; ?        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题
7 W0 x0 v# E% `- R        ~CA();  U, ?! O0 I1 u& C
        void get();, J6 l  J  J# f: F2 A: t8 o
( |2 {" j% U; e
private:- }, k+ E% U( t2 p) T1 j
        int i;
2 j/ T( Q' c/ p9 T. V) [, P1 a};& D$ L$ U% ~* T# D
. C, r7 M$ ]7 s  Z
CA::CA(int x)
, C  V# X# h/ S+ ^2 ~9 L2 A{# Y, d1 c4 a' ^$ Z* l: w
        i=x;
7 ^' b! i: Q1 v2 e* [) L        cout<<"构造函数在执行..."<<i<<endl;7 M4 D. k# y$ z6 b' ?
}7 K1 P  Q" n+ G9 F
void CA::get()+ ^3 A6 K2 P) N6 t) w( \! U* ^/ w
{
* s% ~5 e8 B( e! Q/ j        cout<<i<<endl;/ t8 X2 E0 ~1 ]
}  @0 f6 E% t3 H* x

  z6 V; \8 x* ~* @CA::~CA()
0 m) @- B" q0 q: R; {7 V+ B" k" M6 f{# \/ v% ^4 k' Z) e/ M9 r: L
        cout<<"析构函数在执行..."<<i<<endl;
$ G6 i; s* k; K# t! }}
" S/ e( F- v6 |0 L
& X- l/ I  t2 b, z  Q* eint main(void)9 z  B3 y4 ^/ Z( c+ v
{
1 A9 H0 [6 g; @7 v+ z8 L        CA a(99);
' b1 C5 j$ C% Y        a.get();
0 `: D5 D# ^: R1 u' d        a=CA(1000);& D9 V5 L" d& ^5 h
/ e0 O4 |) ~, i0 i; a3 N
        return 0;& I( L1 f& ^! v$ ?8 D" m7 n
}
3 [  X6 F. |) C6 T% x2 M5 s1 i# Q+ _
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-7-7 02:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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