亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++中運(yùn)算符重載的規(guī)則語(yǔ)法實(shí)例

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

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

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

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

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

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

②、 重載之后運(yùn)算符的優(yōu)先級(jí)和結(jié)合性都不會(huì)改變。 

③、 運(yùn)算符重載是針對(duì)新類型數(shù)據(jù)的實(shí)際需要,對(duì)原有運(yùn)算符進(jìn)行適當(dāng)?shù)母脑?。一般?lái)說(shuō),重載的功能應(yīng)當(dāng)與原有功能相類似,不能改變?cè)\(yùn)算符的操作對(duì)象個(gè)數(shù),同時(shí)至少要有一個(gè)操作對(duì)象是自定義類型。 

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

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

干脆將一些運(yùn)算符重新列出下一下:

可以用作重載的運(yùn)算符:

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

下列運(yùn)算符不允許重載:

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

下面給例子

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

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

下面給一個(gè)比較完整的代碼:

#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;
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • C++入門之實(shí)現(xiàn)十步萬(wàn)度游戲

    C++入門之實(shí)現(xiàn)十步萬(wàn)度游戲

    這篇文章主要介紹了C++入門實(shí)現(xiàn)十步萬(wàn)度游戲,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 解析如何利用switch語(yǔ)句進(jìn)行字符統(tǒng)計(jì)

    解析如何利用switch語(yǔ)句進(jìn)行字符統(tǒng)計(jì)

    本篇文章是對(duì)如何利用switch語(yǔ)句進(jìn)行字符統(tǒng)計(jì)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 淺談C#中List<T>對(duì)象的深度拷貝問(wèn)題

    淺談C#中List<T>對(duì)象的深度拷貝問(wèn)題

    下面小編就為大家?guī)?lái)一篇淺談C#中List<T>對(duì)象的深度拷貝問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • 深入了解C語(yǔ)言結(jié)構(gòu)化的程序設(shè)計(jì)

    深入了解C語(yǔ)言結(jié)構(gòu)化的程序設(shè)計(jì)

    這篇文章主要介紹了C語(yǔ)言編程中程序的一些基本的編寫優(yōu)化技巧,文中涉及到了基礎(chǔ)的C程序內(nèi)存方面的知識(shí),非常推薦!需要的朋友可以參考下
    2021-07-07
  • 基于matlab實(shí)現(xiàn)DCT數(shù)字水印嵌入與提取

    基于matlab實(shí)現(xiàn)DCT數(shù)字水印嵌入與提取

    數(shù)字水印技術(shù)是將一些標(biāo)識(shí)信息直接嵌入數(shù)字載體當(dāng)中,?或間接表示在信號(hào)載體中,?且不影響原載體的使用價(jià)值。本文主要為大家介紹了基于matlab如何實(shí)現(xiàn)數(shù)字水印的嵌入與提取,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • C語(yǔ)言快速實(shí)現(xiàn)掃雷小游戲

    C語(yǔ)言快速實(shí)現(xiàn)掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C語(yǔ)言中const和define的區(qū)別你了解嘛

    C語(yǔ)言中const和define的區(qū)別你了解嘛

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言中const和define的區(qū)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • 詳解C++實(shí)現(xiàn)鏈表的排序算法

    詳解C++實(shí)現(xiàn)鏈表的排序算法

    鏈表排序思想和數(shù)組排序類似,區(qū)別就是數(shù)組遍歷容易,數(shù)據(jù)交換也容易;鏈表(單項(xiàng)鏈表)只能一個(gè)方向遍歷,不能逆序遍歷,且不能隨機(jī)訪問(wèn),所以排序比較麻煩。本文將詳細(xì)介紹鏈表排序的方式,并且用C++來(lái)實(shí)現(xiàn)
    2021-06-06
  • C++中的類擴(kuò)展之繼承和組合詳解

    C++中的類擴(kuò)展之繼承和組合詳解

    在C++中,類擴(kuò)展可以通過(guò)繼承、組合和裝飾模式實(shí)現(xiàn)。繼承可以實(shí)現(xiàn)對(duì)已有類的修改和擴(kuò)展,組合可以增加新的功能,裝飾模式則能夠在不改變?cè)惖那闆r下為其添加新的功能。這些技術(shù)在C++程序設(shè)計(jì)中應(yīng)用廣泛,提高了程序的可擴(kuò)展性和可維護(hù)性
    2023-04-04
  • C語(yǔ)言格式化輸入輸出函數(shù)詳解

    C語(yǔ)言格式化輸入輸出函數(shù)詳解

    本文給大家分享的是c語(yǔ)言中2個(gè)格式化輸入輸出的函數(shù)printf()和scanf()的使用方法的說(shuō)明及其組合方式的表單,非常詳細(xì),推薦給大家,希望對(duì)大家能夠有所幫助。
    2015-03-03

最新評(píng)論