1. 程式人生 > >C++筆記007:易犯錯誤模型——類中為什麽需要成員函數

C++筆記007:易犯錯誤模型——類中為什麽需要成員函數

計算 成員 area 分享圖片 end src 賦值 內存空間 3.1

先看源碼,在VS2010環境下無法編譯通過,在VS2013環境下可以編譯通過,並且可以運行,只是運行結果並不是我們期待的結果。

技術分享圖片

最初通過MyCircle類定義對象c1時,為對象分配內存空間,r沒有初始化,其值為亂碼,pi為3.1415926,area為亂碼。

【cin>>c1.r】這個語句為c1.r賦值,假設為10,然後執行【cout<<c1.area<<endl】,我們來看,執行cout時是從內存空間中拿c1.area的值,這個值在定義對象時候已經確定是一個亂碼值,此處不會執行【double area=pi*r*r】語句,因此輸出亂碼。

如果想獲取正確的結果,那就需要成員函數,在成員函數中進行計算。

C++筆記007:易犯錯誤模型——類中為什麽需要成員函數