程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 技術人員講述C++代碼編輯及技巧說明

技術人員講述C++代碼編輯及技巧說明

編輯:C++入門知識

C++代碼更多地靠第三方的庫來實現這些功能,因為C++是一個國際標准,要在C++中加入這些語言之外的、面向應用的特性還需要很長一段路要走,希望本文能教會你更多東西。。

我們已經學過重載,對重載函數而言,C++的檢查機制能通過函數參數的不同及所屬類的不同,正確的調用重載函數。
例如,為求兩個數的最大值,我們定義max()函數需要對不同的數據類型分別定義不同重載版本。

  1. int max(int x,int y);  
  2. {  
  3.      return(x>y)?x:y ;  
  4. }  
  5.  
  6. float max( float x,float y)  
  7. {  
  8.      return (x>y)? x:y ;  
  9. }  
  10.  
  11. double max(double x,double y)  
  12. {  
  13.     return (c>y)? x:y ;  

現在,我們再重新審視上述的max()函數,它們都具有同樣的功能,即求兩個數的最大值,能否只寫一套代碼解決這個問題呢?這樣就會避免因重載函數定義不全面而帶來的調用錯誤。

為解決上述問題C++代碼引入模板機制,模板定義:模板就是實現代碼重用機制的一種工具,它可以實現類型參數化,即把類型定義為參數,從而實現了真正的代碼可重用性。

模板分類:模板分為函數模板和模板函數,當編譯系統發現了一個對應的函數調用時,將根據實參的類型來確認是否匹配函數模板中對應的形參然後生成一個重載函數,稱該重載函數為模板函數。

函數模板與模板函數的區別: 二者區別可以類比 類與對象的區別。函數模板與類相似是模板的定義,而模板函數與對象相似,是函數模板的實例,具有程序代碼,占用內存空間。

  • 列舉C++編譯器支持的編譯環境
  • 筆者帶您走進C++編程門說明
  • 淺析C++編譯器怎樣實現異常處理問題
  • 深度了解C++編程技巧說明介紹
  • 大致介紹C++語言相關使用及其錯誤修改

同樣,在說明了一個類模板後,也可以創建類模板的實例即生成模板類。類模板與模板類的區別是:類模板是模板的定義,不是一個實在的類,模板類才是實實在在的類。

程序分析:main()函數中定義了兩個整型變量n1 , n2 兩個雙精度類型變量d1 , d2然後調用min( n1, n2); 即實例化函數模板T min(T x, T y)其中T為int型,求出n1,n2中的最小值.同理調用min(d1,d2)時,求出d1,d2中的最小值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved