程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 對於C++操作符淺析說明

對於C++操作符淺析說明

編輯:C++入門知識

以下介紹一段C++操作符關於操作符重載的程序,讓它將變量遞增10而不是遞增1,操作符過載是個高級C++技術,在使用時一定會使許多編程人員頭花眼脹的,好了看了本文你就會解決這些事情。

如下表所示。常用C++操作符說明舉例:

  1. + 加 x=y+z;   
  2.  
  3. - 減 x=y-z;   
  4.  
  5. * 乘 x=y*z;   
  6.  
  7. / 除 x=y/z;   
  8.  
  9. 賦值運算符   
  10.  
  11. = 賦值 x=10;   
  12.  
  13. += 賦值與和 x+=10;(等於xx=x+10;)   
  14.  
  15. -= 賦值與減 x-=10;   
  16.  
  17. *= 賦值與乘 x*=10;   
  18.  
  19. \= 賦值與除 x\=10;   
  20.  
  21. &= 賦值位與 x&=0x02;   
  22.  
  23. |= 賦值位或 x|=0x02;   
  24.  
  25. 邏輯操作符   
  26.  
  27. && 邏輯與 if(x && 0xFF) {...}   
  28.  
  29. || 邏輯或 if(x || 0xFF) {...}   
  30.  
  31. 等式操作符   
  32.  
  33. == 等於 if(x == 10) {...}   
  34.  
  35. != 不等於 if(x != 10) {...}   
  36.  
  37. < 小於 if(x < 10) {...}   
  38.  
  39. > 大於 if(x > 10) {...}   
  40.  
  41. <= 小於或等於 if(x <= 10) {...}   
  42.  
  43. >= 大於或等於 if(x >= 10) {...}   
  44.  
  45. 一元操作符   
  46.  
  47. * 間接操作符 int x=*y;   
  48.  
  49. & 地址操作符 int* x=&y;   
  50.  
  51. ~ 位非 x &=~0x02;   
  52.  
  53. ! 邏輯非 if(!valid) {...}   
  54.  
  55. ++ 遞增操作符 x++等於xx=x+1;)   
  56.  
  57. -- 遞減操作符 x--;   
  58.  
  59. 類和結構操作符   
  60.  
  61. :: 范圍解析 MyClass :: SomeFunction();   
  62.  
  63. -> 間接成員 MyClass-> SomeFunction();   
  64.  
  65. · 直接成員 MyClass . SomeFunction();  

可以看出,這個清單長了些,沒法一下子記住。使用C++時,你會慢慢熟悉這些操作符的。必須指出,遞增操作符既可用作前遞增(++x),也可用作後遞增(x++)。前遞增操作符告訴編譯器先遞增再使用變量,而後遞增C++操作符則讓編譯器先使用變量值再遞增。例如下列代碼:

  1. int x = 10;   
  2.  
  3. cout << "x = " << x++ << end1;   
  4.  
  5. cout << "x = " << x << end1;   
  6.  
  7. cout << "x = " x << end1;   
  8.  
  9. cout << "x = " << ++x << end1;   
  10. x=10   
  11.  
  12. x=11   
  13.  
  14. x=12   
  15.  
  16. x=12   

遞減操作符也是這樣,這裡不想將這些內容講得太深,但讀者可以耐心閱讀下去,正如彭茲對奧古斯特所說,“奧古,耐心點,羅馬不是一天建成的”。說明 在C++中操作符可以過載(overload)。

編程人員可以通過過載標准操作符讓它在特定類中進行特定運行。例如,可以在一個類中過載遞增操作符,讓它將變量遞增10而不是遞增1。操作符過載是個高級C++技術,本書不准備詳細介紹。

你也許會發現,有些操作符使用了相同的符號。符號的意義隨情境的不同而不同。例如,星號(*)可以作為乘號、聲明指針或取消指針引用。這初看起來有點亂,事實上,C++編程老手有時也覺得有點亂。多實踐,你會慢慢適應的。本書有許多例子介紹這些C++操作符。讀者不必死記每個操作符的作用,而可以在學習中通過程序和碼段去理解其作用。

C++中的函數

函數是與主程序分開的碼段。這些碼段在程序中需要進行特定動作時調用執行)。例如,函數可能取兩個值並對其進行復雜的數學運算。然後返回結果,函數可能取一個字串進行分析,然後返回分析字串的一部分。

新術語 函數function)是與主程序分開的碼段,進行預定的一個服務。函數是各種編程語言的重要部分,C++也不例外。最簡單的函數不帶參數,返回void表示不返回任何東西),其它函數可能帶一個或幾個參數並可能返回一個值。函數名規則與變量名相同。圖1.5顯示了函數的構成部分。新術語 參數(parameter)是傳遞給函數的值,用於改變操作或指示操作程度。

  • 漫談C++類的靜態成員
  • 怎麼用C++封裝Socket庫
  • 對於C++標准程序庫介紹
  • 對於C++標准程序庫介紹
  • 詳細說明C++代碼編輯問題

這個程序的11到14行用標准輸入流cin向用戶取兩個數字,第15行調用multiply()函數將兩個數相乘,第16行調用showResult()函數顯示相乘的結果。注意主程序前面第5和第6行C++操作符的原型聲明。原型中只列出了返回類型、函數名和函數參數的數據類型。

這是函數聲明的最基本要求。函數原型中還可以包含用於建檔函數功能的變量名。例如,multiply()函數的函數聲明可以寫成如下:int multiply(int firstNumber,int secondNumber);這裡函數multiply()的作用很明顯,但代碼既可通過說明也可通過代碼本身建檔。注意清單1.4中函數multiply()的定義(22到25行)在主函數定義碼段(8到20行)之外。

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