鱼C论坛

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

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

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

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

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

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑 ! b' }; k9 u0 e4 M8 }& w
: i' F' N- u+ n' _! O1 V& d' k
Unnamed QQ Screenshot20130321140150.gif
2 k8 A, }7 O) T+ w* O" z# @#include <iostream>
2 P) h7 q$ J; S, f! n% c" L+ z0 c3 _3 {5 p
using namespace std;6 i9 G4 d: T" b) k8 w
. A2 N. V8 n5 G! x- U# w
class CA5 H1 J* _) I) t) R  }( ~5 }& v
{; p9 u/ F. z3 ~0 w3 y
public:
7 q8 S7 G% `2 F0 m, f        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题
% \) _6 m. i$ _" i: g' ?8 q        ~CA();5 ~1 B0 V8 m1 |# ^
        void get();- r) ~: D4 H# z6 y# O0 U$ o

! F9 p, j% N, A5 b- f$ N$ G$ `private:9 n. }$ K0 Q- D2 @
        int i;4 R1 E7 Q0 k$ k9 S4 h8 t
};% }2 N% K1 _$ T+ A/ y7 ]- [: r% u4 o" c  ~
$ \2 Q$ N" Y/ S
CA::CA(int x)4 A9 N% b$ }2 _6 X! Q$ H  ^
{
' y2 K- [% b0 }        i=x;
  v; D# R! X' C        cout<<"构造函数在执行..."<<i<<endl;
! {: U8 ?+ C# K6 p}
( _4 }$ n. D4 Rvoid CA::get()
, X8 }: Q/ O! d/ j{
( o0 g% p  e2 I        cout<<i<<endl;
0 \9 D. D+ B8 j}" q+ C. [. r: _/ l6 Q
: p4 I8 i' q# ?2 S7 }+ h0 ]2 I
CA::~CA()& c' R! |: O$ B4 Y2 y. B
{
' k2 O3 H+ E8 E) p, m# A5 l        cout<<"析构函数在执行..."<<i<<endl;4 e3 O5 @9 m; B! A8 _1 w
}
% T- U6 {( Y+ j+ g1 `% T
& M' i8 W" l7 A5 n1 |int main(void)2 a2 R0 J- E- X6 e" d% e
{, F2 a8 o+ }2 F
        CA a(99);
$ K9 c6 \1 A3 y        a.get();
" p4 X6 ?! B& T! C, b8 K) n% S6 v        a=CA(1000);
: |9 I; E( [: j' j) y, ~- Y7 ?) X! l
        return 0;7 K) h4 U" P/ ]
}5 ]1 q! ~# g3 \4 @, G' Y
0 d# z. j& i/ N$ H0 U
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-9-11 09:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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