鱼C论坛

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

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

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

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

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

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑 & Z! b2 C, d/ s/ y+ U$ o" l4 c

# O" V! i' @5 Q+ |4 ]' w( I9 R7 n Unnamed QQ Screenshot20130321140150.gif
6 ]$ @% q8 S5 ?+ r#include <iostream>
$ ^7 U' n4 Z5 F' `* w/ k, N: K, e! V/ ^* {8 k0 M" d0 Q' a
using namespace std;( N  W* @1 p, A8 u! n2 ]
( A( ^; b1 @( L/ i/ P! @) b5 g
class CA
7 f. I8 ?- y, H2 D, r+ U, \{
7 G8 x& q+ h3 V1 Y6 D! z9 [/ wpublic:
$ K' q( W8 F  g/ x' i        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题
; G$ |* u# Z/ q0 r, ]        ~CA();* R7 b$ @& x, k; _* J0 Z8 ^+ ^
        void get();/ x4 Y3 \! h' J

6 z- H& Z7 ?% }* Z5 M( s) ?0 lprivate:' g' \$ A6 m4 z: _, D
        int i;
7 R! k) _; [9 m) w};- T: b6 }4 E! X- h

2 y# t. }% N/ z; d; ?6 v9 Q5 E0 R( `CA::CA(int x)
: \6 h" l6 y" ~9 @6 F{
, B, Y3 p7 ^! m; I* P8 q  M$ F# @        i=x;) v; w& T8 |* e5 g8 C; u8 S8 ]
        cout<<"构造函数在执行..."<<i<<endl;* @. y! a9 _# B0 e- Z0 z1 R
}- ^6 A$ B- e, O5 n
void CA::get(), ~/ n+ _4 X: J- h' O3 R; l2 Z
{
% ^5 ?4 V. {  T% C        cout<<i<<endl;
4 ~8 X/ y2 P" p# s}! b' ~4 ^. g7 K: V" [* k2 R/ ~

; i" [  @: T5 M2 |/ T9 e0 E  YCA::~CA()# D. c  q) c/ d# L
{5 h/ X  B3 [0 A/ R  s4 r  S7 ]
        cout<<"析构函数在执行..."<<i<<endl;' T0 O5 |' n& S  A# ^% ^& D" N9 ]# ]
}
+ m4 p6 v1 z/ P3 D- Q- k) y9 T2 X: _8 f# c. i2 @( G
int main(void)2 q" P1 {8 Z5 E7 s# `( Q" }* v2 G
{
. X5 s9 h; K& z% i4 M+ S        CA a(99);
+ [+ d7 ?4 I6 C, o        a.get();" u3 n! i0 q& e* _( L0 J( Y. ^* K4 I& n
        a=CA(1000);
: S! ]7 P6 d; V3 x; E: J( u4 |& V& r/ s, n3 S2 B
        return 0;: e6 H) U4 h' ^$ ^" H: p) k) V. {
}
6 K5 |, n0 b6 K$ P
0 N# T+ s& N- y# \% m) s7 O' i# L
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-10-1 19:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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