日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

java显式构造函数_C++中的显式构造函数

發(fā)布時(shí)間:2025/3/21 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java显式构造函数_C++中的显式构造函数 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有如下一個(gè)簡(jiǎn)單的復(fù)數(shù)類(lèi):

classClxComplex

{public:

ClxComplex(doubledReal=0.0,doubledImage=0.0){m_dReal=dReal;dImage=dImage;}doubleGetReal()const{returnm_dReal;}doubleGetImage()const{returnm_dImage;}private:doublem_dReal;doublem_dImage;

};

我們知道,下面的3行代碼是等價(jià)的:

ClxComplexlxTest=2.0;

ClxComplexlxTest=ClxComplex(2.0);

ClxComplexlxTest=ClxComplex(2.0,0.0);

其實(shí),對(duì)于前兩行來(lái)說(shuō),編譯器都是把它們轉(zhuǎn)換成第3行的代碼來(lái)實(shí)現(xiàn)的。因?yàn)槲覀儗?xiě)了構(gòu)造函數(shù),編譯器就按照我們的構(gòu)造函數(shù)來(lái)進(jìn)行隱式轉(zhuǎn)換,直接把一個(gè) double數(shù)值隱式轉(zhuǎn)換成了一個(gè)ClxComplex的對(duì)象。可是,有些時(shí)候,我們不希望進(jìn)行隱式轉(zhuǎn)換,或者隱式轉(zhuǎn)換會(huì)造成錯(cuò)誤。比如下面的一個(gè)簡(jiǎn)化的 字符串類(lèi):

classClxString

{public:

ClxString(intiLength);

ClxString(constchar*pString);~ClxString();private:char*m_pString;

};

ClxString::ClxString(intiLength)

{if(iLength>0)

m_pString=newchar[iLength];

}

ClxString::ClxString(constchar*pString)

{

m_pString=newchar[strlen(pString)];

strcpy(m_pString,pString);

}

ClxString::~ClxString()

{if(m_pString!=NULL)

deletem_pString;

}

我們可以用字符串的長(zhǎng)度來(lái)初始化一個(gè)ClxString的對(duì)象,但是我們卻不希望看到下面的代碼:

ClxStringlxTest=13;//等同于ClxStringlxTest=ClxString(13);

這會(huì)給閱讀代碼造成不必要的歧義。

還有,我們知道下面的代碼是用字符串A來(lái)初始化一個(gè)ClxString的對(duì)象:

ClxStringlxTest="A";//等同于ClxStringlxTest=ClxString("A");

可是,如果有人寫(xiě)成:

ClxStringlxTest='A';//等同于ClxStringlxTest=ClxString(65);

那上面的代碼就會(huì)初始化一個(gè)長(zhǎng)度為65(字母A的ASCII碼值,在C和C++中,字符是以ASCII值存儲(chǔ)的)的字符串。

當(dāng)然,上面的情況都不是我們希望看到的。在這個(gè)時(shí)候我們就要用到顯示構(gòu)造函數(shù)了。

將構(gòu)造函數(shù)聲明成explicit就可以防止隱式轉(zhuǎn)換。

下面是使用顯示構(gòu)造函數(shù)的ClxString:

classClxString

{public:explicitClxString(intiLength);

ClxString(constchar*pString);~ClxString();private:char*m_pString;

};

在這種情況下,要想用字符串的長(zhǎng)度來(lái)初始化一個(gè)ClxString對(duì)象,那就必須顯示的調(diào)用構(gòu)造函數(shù):

ClxStringlxTest=ClxString(13);

而下面這些代碼將不能通過(guò)編譯。

ClxStringlxTest=13;

ClxStringlxTest='A';

分享到:

2007-09-11 20:38

瀏覽 476

評(píng)論

總結(jié)

以上是生活随笔為你收集整理的java显式构造函数_C++中的显式构造函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 三上悠亚在线一区 | 国产成人精品一区在线播放 | 成长快手短视频在线观看 | av免费亚洲| 内射中出日韩无国产剧情 | 极品人妻一区二区 | 四虎视频国产精品免费入口 | 综合色导航 | 免费黄色av | 色综合久久88色综合天天6 | 亚洲成av人片一区二区 | 欧美日日操 | 婷婷色综合网 | 亚洲天堂精品在线观看 | av丝袜在线 | 黄色一级片免费播放 | 无码精品一区二区三区在线播放 | 伊人春色影院 | 国产又黄又猛又粗又爽 | av动漫网 | 三级国产视频 | 中文字幕在线一区二区三区 | 精品国产一区二区三区四区精华 | 欧美自偷自拍 | 反差在线观看免费版全集完整版 | 在线不卡欧美 | 日韩123区 | 亚洲美女精品视频 | 欧美日韩综合 | 美女视频黄色在线观看 | 性生交大片免费看狂欲 | 亚洲人成色777777老人头 | 九色蝌蚪视频 | 中文字幕日本一区二区 | 97久久久久久久久久 | 秘密基地动漫在线观看免费 | 欧美国产日韩一区二区三区 | 亚洲黄色免费视频 | 中文视频一区 | 麻豆爱爱 | 五月天黄色小说 | 欧美成年人网站 | 国产午夜视频在线观看 | 午夜一级大片 | 久久天天躁狠狠躁夜夜躁 | 国产精品久久免费 | 狠狠干狠狠爱 | 在线中出 | 成人在线观看国产 | 国产精品久久久久久久久久久久久久久久久 | 奇米影视第四色7777 | 国产在线a | 日韩一区不卡 | 国产精品老熟女一区二区 | 一区国产精品 | 精品一区在线看 | 国产精品视频播放 | 国产精品日日夜夜 | 色噜噜网站 | 黄色片网站在线播放 | 毛片com| 精品久久久久一区二区国产 | 天天草比 | 高清毛片aaaaaaaaa郊外 | 日本色片网站 | 欧美久久久精品 | 福利小视频在线播放 | 日韩激情欧美 | 玉女心经是什么意思 | 精品亚洲一区二区 | 亚洲国产理论 | 99热这里只有精品8 国产一卡二 | 中文字幕人妻色偷偷久久 | 91精品国产91久久久久青草 | 亚洲AV成人精品 | 天堂av一区二区三区 | 国产精品伊人久久 | 在线国产一区二区 | 精品国产视频一区二区 | 亚洲av片一区二区三区 | 欧美xxxxbbb | 青青草福利 | 一区二区三区不卡视频在线观看 | 四虎影院新网址 | 国产三级视频网站 | 中国国产黄色片 | 国产成人一区二区三区别 | 日韩 中文字幕 | 中文字幕一区二区三区乱码不卡 | 视频免费在线 | 2023毛片| 女人夜夜春 | 久久久精彩视频 | av大全在线观看 | 久久久久二区 | 岛国视频一区 | 亚洲精品一区二区18漫画 | 欧美91精品久久久久国产性生爱 | 欧美另类高清videos的特点 |