筆記七:易犯錯(cuò)誤模型——類中為什么需要成員函數(shù)先看源碼,在VS2010環(huán)境下無(wú)法編譯通過(guò),在VS2013環(huán)境下可以編譯通過(guò),并且可以運(yùn)行,只是運(yùn)行結(jié)果并不是我們期待的結(jié)果。
1.png (17.75 KB, 下載次數(shù): 41)
下載附件
2018-3-5 19:21 上傳
最初通過(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ì)算。