鱼C论坛

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

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

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

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

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

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑 ) U) K  R& J0 l
. j6 X. ?) o, l8 [! g
Unnamed QQ Screenshot20130321140150.gif % K8 y9 ?* b! q. E4 a3 a
#include <iostream>
* G5 E/ O4 b0 @" I& n' m/ t# J  X6 Y& ?9 r- U
using namespace std;. H' t# f, ~9 I: I' t2 Y
; a$ u+ F; {, H4 ^* u, j
class CA
6 o4 }. f" v0 k0 M{. r3 s) O" o' H1 i
public:
1 m' c  [5 u3 S7 A        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题
$ M6 }5 m6 M0 K* N7 e& e2 C% [        ~CA();
3 }! ]2 I8 `( ]1 Z, j( F9 G        void get();6 v5 _% ?0 Z) @& m- d) y
4 U- W3 O; x+ C4 g7 {5 b
private:
+ M8 B4 d2 J9 S2 Q& L        int i;! ^# i8 m2 _: y; Y$ \
};
$ q% J/ P/ i( D
4 Z8 q& h* Z8 l  c+ j2 T( WCA::CA(int x)1 A7 @7 U9 E+ `1 b
{
8 X* ^) H( ^9 R! L        i=x;& v. I( t  _" k! s7 k* u# F5 ?) E/ I  E
        cout<<"构造函数在执行..."<<i<<endl;( k/ s* X5 H/ m+ Y( \0 w
}
5 v2 R8 x7 Q: i- y2 T9 Y! ~void CA::get()
8 T4 l6 J7 r2 i0 ~4 h8 I+ Y{
, X/ p- u0 n2 V9 X  ~/ Q( l        cout<<i<<endl;, v# h( G# Z9 k; p1 }3 o
}6 s; |- A4 c  |; q( _& p
3 A  x4 ]( O: c) h' u; U
CA::~CA(), \1 ~( m( G* r/ T$ L6 a
{4 l# x: R8 W) M" V& R8 _1 ?8 c
        cout<<"析构函数在执行..."<<i<<endl;
) J# _8 s8 [7 {}
- M) @, \# Y9 O! F2 I9 {1 k# V4 P+ a& s) R7 S6 ]2 Y, P
int main(void)
4 Y) T- [+ f2 Z$ }0 o- P{8 O' R1 Z3 T" t* {/ s8 b
        CA a(99);
2 ~7 H- T( a7 ?; w0 v1 a# q9 D! [5 _4 H        a.get();
9 h* H( L' v# H' O3 y5 I' B& q, y        a=CA(1000);
& S1 o& o4 \7 K7 o8 }, m: R- ?  }% Q8 y9 {* O
        return 0;4 A  C/ N( W6 W9 C# X
}
  A& c1 j; C6 u5 c: m0 `, o; y: H9 X- R4 S3 N: e* j. k, d9 @
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-8-23 15:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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