[C++]C++程式設計例項

丫就是熊個貓貓發表於2016-11-26

例項1

   設某次體育比賽的結果有4中可能:勝(WIN)、負(LOSE)、平局(TIE)、比賽取消(CANCEL),編寫程式順序輸出這4中情況。

   知識點:主要是練習列舉型別enum的使用

  

編譯執行結果

   

例項2

    將兩個整數交換次序後輸出。

   知識點:值傳遞是指當發生函式呼叫時,給形參來分配記憶體空間,並用實參來初始化形參(直接將實參的值傳遞給形參)。這一過程是引數值的單向傳遞關係,一旦形參獲得了值便與實參脫離關係,此後無論形參發生了什麼樣的改變,都不會影響到實參。

   

  編譯執行結果

  

  分析:從上面的執行結果可以看出,並沒有達到交換的目的。這是因為,採用的是值傳遞,函式呼叫時傳遞的是實參的值,是單向傳遞過程。形參值的改變對實參值不起作用。

例項3

   利用引用傳遞完成例項2功能

   知識點:① 宣告一個引用時,必須同時對它進行初始化,使它指向一個已存在的物件。② 一旦一個引用被初始化後,就不能改為指向其他物件。③ 用引用作為形參,在函式呼叫時發生的引數傳遞,稱為引用傳遞。

  

  編譯執行結果

  

  可見,通過引用傳遞實現了資料交換的功能。

例項4

  值傳遞與引用傳遞的比較。

  分析:子函式 fiddle 的第一個引數 in1 是普通的 int型,被呼叫時傳遞的是實參v1的值,第二個引數in2是引用,被呼叫時由實參v2初始化後稱為v2的一個別名。於是在子函式中對引數 in1 的改變不影響實參,而對形參in2的改變實質上就是對主函式中變數 v2的改變。因而返回主函式後,v1值沒有變化,v2值發生了變化。

       

編譯執行結果

   

相關文章