第六週實驗報告(任務1)

*程序頭部註釋開始
* 程序的版權和版本聲明部分
* Copyright (c) 2011, 煙臺大學計算機學院學生
* All rights reserved.
* 文件名稱:  常函數改錯                           
* 作    者:     郭廣建                       
* 完成日期:  2012年    3   月   26     日
* 版 本 號:  1.0      

【任務1】下面的程序存在編譯錯誤。有兩種方法可以修改,請給出這兩種修改方案,在報告中說明你傾向於用哪一種?爲什麼?處理此類問題的原則是什麼?
class C
{
private:
 int x;
 public:
 C(int x){this->x = x;}
 int getX(){return x;}
};
void main()
{
 const C c(5);
 cout<<c.getX();
 system("pause");
}

 第一種解決方案:

去掉const;

第二種解決方案:

把cout<<c.getX();改爲

C  &d = c;

cout << d.getX();

我更傾向於第二種解決方案;因爲第二種方案可以保護數據不被改變,起到保護作用。

處理此類問題的原則:儘量保護數據不被更改

運行結果:


 

發佈了60 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章