最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中運算符重載的規(guī)則語法實例

 更新時間:2018年12月14日 09:20:42   作者:Struggler09  
今天小編就為大家分享一篇關于C++中運算符重載的規(guī)則語法實例,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

運算符重載,就是對已有的運算符重新進行定義,賦予其另一種功能,以適應不同的數(shù)據(jù)類型。

之前就知道運算符的重載就是將它重新定義,給它新的功能,為的式符合程序員的要求,一個例子就是,要將坐標相加,但是電腦不知道怎么相加,于是聰明的人就賦予了“+”新的定義。然而一些嚴格意義上的用法還不是很清楚?,F(xiàn)在就在這總結一下。

首先運算符重載的規(guī)則如下:

①、 C++中的運算符除了少數(shù)幾個之外,全部可以重載,而且只能重載C++中已有的運算符。 

不能重載的運算符只有五個,它們是:成員運算符“.”、指針運算符“*”、作用域運算符“::”、“sizeof”、條件運算符“?:”。

②、 重載之后運算符的優(yōu)先級和結合性都不會改變。 

③、 運算符重載是針對新類型數(shù)據(jù)的實際需要,對原有運算符進行適當?shù)母脑?。一般來說,重載的功能應當與原有功能相類似,不能改變原運算符的操作對象個數(shù),同時至少要有一個操作對象是自定義類型。 

運算符重載為類的成員函數(shù)的一般語法形式為: 

函數(shù)類型 operator 運算符(形參表) 
{ 
 函數(shù)體; 
} 

干脆將一些運算符重新列出下一下:

可以用作重載的運算符:

  • 算術運算符:+,-,*,/,%,++,--;
  • 位操作運算符:&,|,~,^,<<,>>
  • 邏輯運算符:!,&&,||;
  • 比較運算符:<,>,>=,<=,==,!=;
  • 賦值運算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
  • 其他運算符:[],(),->,,(逗號運算符),new,delete,new[],delete[],->*

下列運算符不允許重載:

.,.*,::,?:(上面也說了的)

下面給例子

Boxoperator+(const Box&, const Box&);

聲明加法運算符用于把兩個 Box 對象相加,返回最終的 Box 對象。大多數(shù)的重載運算符可被定義為普通的非成員函數(shù)或者被定義為類成員函數(shù)。如果我們定義上面的函數(shù)為類的非成員函數(shù),那么我們需要為每次操作傳遞兩個參數(shù),如上面所示。

下面給一個比較完整的代碼:

#include <iostream>
using namespace std;
class Person{
public:
  Person(int num) : age(num){}
  /* 類成員函數(shù) */
  int operator+(const Person &temp){
    return (this->age+temp.age);
  }
  int age;
};
/* 非類成員函數(shù) */
int operator-(const Person &a, const Person &b){
  return (a.age-b.age);
}
int main()
{
  Person John(20), Tom(18);
  cout << John+Tom << endl;
  cout << John-Tom << endl;
  return 0;
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • C++如何計算結構體與對象的大小

    C++如何計算結構體與對象的大小

    這篇文章主要給大家介紹了關于C++如何計算結構體與對象大小的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • C++實現(xiàn)簡易的彈球小游戲

    C++實現(xiàn)簡易的彈球小游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡易的彈球小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 在 VSCode 中配置 C++ 開發(fā)環(huán)境的詳細教程

    在 VSCode 中配置 C++ 開發(fā)環(huán)境的詳細教程

    本文詳細介紹了如何在Visual Studio Code(VSCode)中配置C++開發(fā)環(huán)境,包括安裝必要的工具、配置編譯器、設置調試環(huán)境等步驟,通過這些步驟,你可以快速搭建C++開發(fā)環(huán)境,實現(xiàn)高效編程,感興趣的朋友一起看看吧
    2025-01-01
  • C++簡單實現(xiàn)RPC網(wǎng)絡通訊的示例詳解

    C++簡單實現(xiàn)RPC網(wǎng)絡通訊的示例詳解

    RPC是遠程調用系統(tǒng)簡稱,它允許程序調用運行在另一臺計算機上的過程,就像調用本地的過程一樣。本文將用C++簡單實現(xiàn)RPC網(wǎng)絡通訊,感興趣的可以了解一下
    2023-04-04
  • C語言學習之函數(shù)知識總結

    C語言學習之函數(shù)知識總結

    函數(shù)是一組一起執(zhí)行一個任務的語句。每個?C?程序都至少有一個函數(shù),即主函數(shù)?main()?,所有簡單的程序都可以定義其他額外的函數(shù)。本文就為大家詳細講講C語言中函數(shù)的相關知識點,希望有所幫助
    2022-07-07
  • QT應用啟動失敗排查方法小結

    QT應用啟動失敗排查方法小結

    啟動QT應用經(jīng)常會碰到應用啟動失敗,qt platform plugin無法啟動,本文就來介紹一下QT應用啟動失敗排查方法小結,具有一定的參考價值,感興趣的可以了解以下
    2023-09-09
  • C++關于類結構體大小和構造順序,析構順序的測試詳解

    C++關于類結構體大小和構造順序,析構順序的測試詳解

    這篇文章主要介紹了C++類結構體大小和構造順序,析構順序的測試,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • C語言字符串左旋的兩種實現(xiàn)方法

    C語言字符串左旋的兩種實現(xiàn)方法

    匯編語言中有一種移位指令叫做循環(huán)左移(ROL),下面這篇文章主要給大家介紹了關于C語言字符串左旋的兩種實現(xiàn)方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 詳解C語言中動態(tài)內存管理

    詳解C語言中動態(tài)內存管理

    這篇文章主要為大家詳細介紹了C語言中動態(tài)內存管理的相關知識,以及常見的動態(tài)內存的錯誤,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-07-07
  • tc編譯的dos程序和vc編譯的win32控制臺程序的異同

    tc編譯的dos程序和vc編譯的win32控制臺程序的異同

    tc編譯的dos程序和vc編譯的win32控制臺程序的異同...
    2007-08-08

最新評論

乐都县| 桓仁| 长治市| 防城港市| 兴城市| 兴城市| 阳朔县| 寿光市| 铜川市| 仙游县| 翁牛特旗| 龙口市| 柳州市| 陆川县| 永嘉县| 宜宾市| 临城县| 斗六市| 庆安县| 逊克县| 梅州市| 长宁县| 湘潭市| 彭州市| 原阳县| 蓬莱市| 治多县| 鄂尔多斯市| 绍兴市| 萨迦县| 石渠县| 蒙城县| 垦利县| 利辛县| 武宣县| 潼南县| 云霄县| 南丹县| 白银市| 刚察县| 肇州县|