本帖最后由 tyyhmtyyhm 于 2018-3-5 19:21 編輯
筆記七:易犯錯(cuò)誤模型——類中為什么需要成員函數(shù)先看源碼,在VS2010環(huán)境下無法編譯通過,在VS2013環(huán)境下可以編譯通過,并且可以運(yùn)行,只是運(yùn)行結(jié)果并不是我們期待的結(jié)果。
1.png (17.75 KB, 下載次數(shù): 41)
下載附件
2018-3-5 19:21 上傳
最初通過MyCircle類定義對象c1時(shí),為對象分配內(nèi)存空間,r沒有初始化,其值為亂碼,pi為3.1415926,area為亂碼。 【cin>>c1.r】這個(gè)語句為c1.r賦值,假設(shè)為10,然后執(zhí)行【cout<<c1.area<<endl】,我們來看,執(zhí)行cout時(shí)是從內(nèi)存空間中拿c1.area的值,這個(gè)值在定義對象時(shí)候已經(jīng)確定是一個(gè)亂碼值,此處不會(huì)執(zhí)行【double area=pi*r*r】語句,因此輸出亂碼。 如果想獲取正確的結(jié)果,那就需要成員函數(shù),在成員函數(shù)中進(jìn)行計(jì)算。 【C++】筆記系列均為原創(chuàng),轉(zhuǎn)載請注明轉(zhuǎn)自微號:Lightspeed-Tech 或 AutoCode 更多精彩資料,請關(guān)注!
|