鱼C论坛

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

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

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

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

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

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑
# B% D- A' i: W0 p$ z8 u/ }5 B5 A7 N  n/ M! Q- S
Unnamed QQ Screenshot20130321140150.gif
" u7 r  G3 W8 `* B+ Y& U#include <iostream>" x( _' g# x4 O4 _
/ Z/ Y; C3 M* E
using namespace std;3 e1 V2 e, R6 o
) l& b3 R+ k5 T0 K5 M  E
class CA& v2 z' {6 i- A# U* A4 |
{2 }) p* l5 s' g( w4 f9 B
public:8 `7 H4 i* _, D& Q
        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题
! A$ Z2 \) Q+ {$ c" X        ~CA();
$ M. ]0 M; S% k        void get();7 L+ y/ y) j3 N
1 I8 s9 n4 b7 K
private:
0 V8 V9 s! a& r        int i;
' R2 w- R$ V8 q" `};& t3 J, J7 N- ?$ w( E& P

/ ]' |. W& }+ `0 jCA::CA(int x)
1 Y( m9 v/ ^7 H% A  C{
. \" A# K& t5 b7 Z% h# C- S8 M        i=x;
( a/ I& }1 K5 ]- n: Q        cout<<"构造函数在执行..."<<i<<endl;5 `8 {, f# _' q" A9 k
}
7 B( O7 x( f. a$ H4 q3 ivoid CA::get()/ M2 m6 {2 C" L- c$ j0 U
{
! j# B% ]! N9 R! H- \        cout<<i<<endl;
: t# L4 M/ y& y9 ~7 B. s  o}) f) s" \% q# H
8 X3 {" ^. ]" o5 g" n# z
CA::~CA()
2 e/ ^6 ^3 L% [$ M{; Q8 r; v) F& t. [8 Q
        cout<<"析构函数在执行..."<<i<<endl;# H2 o9 X+ T# E8 P
}% t5 e# Z! Y/ N" O, M
1 j0 J1 l# Q, E4 _& i& n6 j
int main(void)* L8 Z2 w5 ~/ q
{
; q8 M- ~, P# H  n# S( |        CA a(99);! l. o) ]+ u! J$ P5 z$ w# K6 W
        a.get();  U  ]! Z+ S% j
        a=CA(1000);
# Y1 l' C, I7 a( _- l1 K! m3 @8 u9 h. w( ^
        return 0;
% ~( u4 R( G. C$ s8 @8 f}8 `& M1 t. O" Q2 i2 F

! k( z6 j  h$ i; \9 \
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-5-21 13:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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