鱼C论坛

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

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

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

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

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

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑
" `* s# C( I* T0 `" w
- N6 {2 E1 T% b) q7 z Unnamed QQ Screenshot20130321140150.gif
$ H+ y" e9 o  h" B: M; a! E8 R#include <iostream>
2 l6 B& [4 G/ [; q+ p
: E. X- k. i% A" m% @* ]using namespace std;
. [  n8 c8 {2 d! P7 x! s* _: }* r$ b; k4 t; i' f0 |/ Y/ g5 C0 h
class CA; ^$ H. w. r  Q" Y
{8 J/ L; u4 ^% v8 A! J
public:
3 W. b7 S! ?5 P5 ^" f$ u+ \        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题
2 u) e* n4 n5 W' c8 p        ~CA();
. Q) t2 u# ~0 r0 m9 U$ ~        void get();2 M& v/ q' M/ f) Y$ q8 o

$ x" A7 ?0 u0 u& d3 Q( \9 dprivate:8 r0 m+ n9 L) x% k
        int i;& S! |. t4 ?+ y# G7 ~) f: h
};
5 A, S5 T% w, ~
! S3 @5 O5 G) FCA::CA(int x)
  t. k7 E0 f! {6 D" s0 w{/ F8 h; |7 ^0 Y6 t8 I9 ^* z2 k
        i=x;% g+ i4 X5 q7 b8 t" O. V# v0 U
        cout<<"构造函数在执行..."<<i<<endl;
& D) t7 j% {' h6 K' S}
0 q# O6 d3 c' U3 ~1 B/ B: F# Mvoid CA::get()
. t- H9 G% i; ^9 C: _{' N$ b$ B5 F5 C, Z. L
        cout<<i<<endl;  f2 Q* M* w& L+ u" _, E# e& h! x
}
: Z8 M3 p" B9 |1 I. S8 m
& G' @( h8 ?+ ?: Q6 R! ]' nCA::~CA()
; B, E0 q# j4 W{* C# w1 x" I0 G4 r# ^& a
        cout<<"析构函数在执行..."<<i<<endl;
7 W& ^3 F( j% x& b' h}5 o2 S$ i$ X! S7 e2 U1 f9 `9 m
; o9 }5 T( Q2 H  C
int main(void)  B0 ~. Q: e- x; ^" v4 @
{( c. G4 S6 k/ f+ m
        CA a(99);
  r  P; [2 o+ i3 P) n) {        a.get();' t- X' o% L8 O
        a=CA(1000);) E: s8 T* ~2 G- Z) ]4 @8 G+ S

! H$ d" U7 ?6 x        return 0;" \) b- F. \1 E8 |  }. b' r9 }
}+ Y* B4 ?8 l5 ~

1 ?* S1 c9 I0 b, |/ a& h, o- ^1 u
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-5-21 12:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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