標(biāo)題: [C++]筆記七:易犯錯(cuò)誤類型為什么需要成員函數(shù) [打印本頁(yè)]

作者: tyyhmtyyhm    時(shí)間: 2018-3-5 19:18
標(biāo)題: [C++]筆記七:易犯錯(cuò)誤類型為什么需要成員函數(shù)
本帖最后由 tyyhmtyyhm 于 2018-3-5 19:21 編輯

筆記七:易犯錯(cuò)誤模型——類中為什么需要成員函數(shù)
先看源碼,在VS2010環(huán)境下無(wú)法編譯通過(guò),在VS2013環(huán)境下可以編譯通過(guò),并且可以運(yùn)行,只是運(yùn)行結(jié)果并不是我們期待的結(jié)果。

最初通過(guò)MyCircle類定義對(duì)象c1時(shí),為對(duì)象分配內(nèi)存空間,r沒(méi)有初始化,其值為亂碼,pi為3.1415926,area為亂碼。
【cin>>c1.r】這個(gè)語(yǔ)句為c1.r賦值,假設(shè)為10,然后執(zhí)行【cout<<c1.area<<endl】,我們來(lái)看,執(zhí)行cout時(shí)是從內(nèi)存空間中拿c1.area的值,這個(gè)值在定義對(duì)象時(shí)候已經(jīng)確定是一個(gè)亂碼值,此處不會(huì)執(zhí)行【double area=pi*r*r】語(yǔ)句,因此輸出亂碼。
如果想獲取正確的結(jié)果,那就需要成員函數(shù),在成員函數(shù)中進(jìn)行計(jì)算。
【C++】筆記系列均為原創(chuàng),轉(zhuǎn)載請(qǐng)注明轉(zhuǎn)自微號(hào):Lightspeed-Tech  或  AutoCode
更多精彩資料,請(qǐng)關(guān)注!






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1