鱼C论坛

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

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

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

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

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

x
本帖最后由 (@_@) 于 2013-3-21 14:42 编辑 / J8 I$ n& R3 U6 ]
$ @7 D  I$ Y/ N7 x
Unnamed QQ Screenshot20130321140150.gif
; u  B7 z/ Q7 y: W#include <iostream>" E# D2 I9 z4 T/ o3 S* M% n; W
; U- C% m, H' g7 e& G( W* x( f
using namespace std;
( h; a9 T2 k5 R& ^$ F; K$ ^1 k- d3 F5 h+ S4 x
class CA7 y2 L6 [4 b: J" Y! t( O2 b0 r
{2 X3 b  V4 N2 Z) [1 I' E% {
public:
6 D2 y% B/ V7 h. a        explicit CA(int );//explicit只能显示强制转换,即:a=A(1000),不能隐式强制转换:a=1000;explicit可以防止出现问题# ?$ h5 W4 N7 N
        ~CA();
6 H- Z& c1 y8 f- h: A        void get();  \4 T8 s8 V" Y9 m2 O

: k8 [0 u7 v5 _6 b; `  l( s/ Jprivate:
5 x+ S6 \( p, Z$ Z        int i;( Q) y; [3 ^" C' I; ~/ B6 }
};& e5 H$ U1 p9 X! x

# Z8 l7 t! s- q7 k0 J& p4 TCA::CA(int x)0 q9 ~: Z3 E+ |  _3 x8 S
{; w/ u3 _, E+ H* t
        i=x;/ o; o; g! ?4 R
        cout<<"构造函数在执行..."<<i<<endl;. a6 E! M7 P8 G/ z+ Y) g6 t
}
0 b3 B* J1 H0 k0 R) Dvoid CA::get()  m3 z2 I) q* ^& c* S1 f, [
{
' I) F1 N# \+ T: K% S        cout<<i<<endl;5 \, w$ m1 s6 ^& o; w9 i
}# `- I9 q! [4 Z
7 F4 K! G7 Z4 J9 E" M) P
CA::~CA()
7 O! K, X4 ~/ D3 x/ w5 F' d/ ~) }{- q( Z0 r1 \; y6 m& X# E
        cout<<"析构函数在执行..."<<i<<endl;
6 W% m5 p' S5 H}, I9 _+ p3 B$ |" r3 N1 `
8 F8 U& j+ l9 p* _# H9 ]
int main(void)6 a$ Q2 D% c0 ]1 y  V0 ]* l2 l
{
) Q% N; c0 ^' E9 ]( E5 B9 a        CA a(99);
( W9 p0 c1 ~, w        a.get();$ p1 x/ e3 V& ^  a: j
        a=CA(1000);
# p& `! O/ W  S/ j9 B7 u! m5 ^, Y, h. a' U4 o
        return 0;
1 [, i& l' z0 k: t0 z& z3 }}1 _2 J" a4 U; _7 B$ G# \# b
0 C4 J: h" B4 N! e
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-3-27 19:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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