鱼C论坛

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

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

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

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

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

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑 3 ]& q. s% }: \7 r# x4 A
2 {. {* {8 F8 j* _6 r* Z
Unnamed QQ Screenshot20130321140150.gif
8 i( n9 B3 k( c7 W! W' O4 S#include <iostream>$ Y4 S8 k, C/ X. _* j
" `& p8 H6 j& [: g+ E
using namespace std;' X# m% o) h# \1 ^( H3 F' t* u
3 B- {% n) t! u4 @
class CA
% M! a( P1 g% X6 [% {4 `; `{3 Y$ |# a6 W* [" c" b
public:8 p9 j8 r' ^/ R5 u9 M& }6 N
        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题5 t! U1 m% {4 V/ H6 N8 S  a( {
        ~CA();- `' v1 T4 Y. _; S
        void get();$ ]& d9 `% k$ r* |. v  k% F; t

+ F" T0 t  O( K! q7 \private:
9 O- [' G' w4 D9 Y- _7 O* H        int i;: j, b' ?& Z8 L  K! Z5 F0 E
};
& ~+ h5 h6 {  V$ ^7 N' g8 j, C  P6 I: Y' M4 H
CA::CA(int x)" B4 a0 X7 I' ?6 b; j+ l3 k
{: x) d8 O+ H# B
        i=x;
% f1 ^+ @9 @5 L, i$ l% ?        cout<<"构造函数在执行..."<<i<<endl;
* i* T9 `3 G( v+ l+ V}  b% _$ F0 O% Y4 H5 m) T
void CA::get()$ a% W+ O6 S5 W9 B& g) `( |
{5 e2 v4 _1 g  C" H0 H/ e/ M$ s& J
        cout<<i<<endl;! F3 \  T! ~8 H! ~
}5 M( V( _* X  A; C- l5 G
8 {% |- @+ K4 z7 i- z
CA::~CA()
3 d1 G! {% n; x* C{
6 ]: Z/ I' z+ Y( @. s        cout<<"析构函数在执行..."<<i<<endl;8 ~$ j, I0 u3 k$ I
}  \( V% I4 ^! ?# c  A! _
6 m% M/ K) f5 F! D
int main(void)
1 ?+ g) t8 Z4 [, R* _* X{
/ Q' M5 V: x9 k4 v5 }' G$ j9 X        CA a(99);
3 B6 \1 h5 Q- U" z. S* [7 G        a.get();  j) g* s: \, ?3 g9 d+ w# n' x
        a=CA(1000);
7 H  a9 K: s0 `( t% x0 B0 G
  T1 [4 A" B0 ?7 L- M        return 0;
! z/ p4 `1 Q7 N2 u1 U; z& [}& @; g' L& K9 ^: P5 ?" D* X' S

5 H5 o( }& \3 b/ H3 b
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-11-11 10:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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