欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c++運(yùn)算符重載基礎(chǔ)知識(shí)詳解

 更新時(shí)間:2014年03月12日 16:10:02   作者:  
運(yùn)算符重載是一種形式的C++多態(tài)。運(yùn)算符重載將重載的概念擴(kuò)展到運(yùn)算符上,允許賦予C++運(yùn)算符多種含義

實(shí)際上,很多C++運(yùn)算符已經(jīng)被重載。eg:將*運(yùn)算符用于地址,將得到存儲(chǔ)在這個(gè)地址中的值,將他用于2個(gè)數(shù)字時(shí),得到的將是他們的乘積。C++根據(jù)操作數(shù)的數(shù)目和類型來決定采用哪種操作。

C++允許將運(yùn)算符重載擴(kuò)展到用戶定義的類型。例如,允許使用+將兩個(gè)對(duì)象相加。編譯器將根據(jù)操作數(shù)的數(shù)目和類型決定使用加法定義。運(yùn)算符重載可以使代碼看起來更自然。例如,將2個(gè)數(shù)組相加是一種常見的運(yùn)算。通常,需要使用下面這樣的for循環(huán)來實(shí)現(xiàn):

復(fù)制代碼 代碼如下:

for (int i = 0; i < 20; i++)
evening[i] = sam[i] + janet[i]; // add element by element

但在C++中,可以定義一個(gè)表示數(shù)組的類,并重載+運(yùn)算符,于是便有這樣的語(yǔ)句:

total = arr1+arr2;
一個(gè)計(jì)算時(shí)間的例子
mytime.h

復(fù)制代碼 代碼如下:

#include"stdafx.h"
#include"MyTime.h"
#include<iostream>

int_tmain(intargc,_TCHAR*argv[])
{
//比導(dǎo)入整個(gè)名稱空間更經(jīng)濟(jì)
usingstd::cout;
usingstd::endl;

Timeplanning;
Timecoding(2,50);
Timefixing(5,55);
Timetotal;
cout<<"planningtime=";
planning.Show();
cout<<endl;
cout<<"codingtime=";
coding.Show();
cout<<endl;
cout<<"fixingtime=";
fixing.Show();
cout<<endl;
total=coding.Sum(fixing);
cout<<"coding.Sum(fixing)=";
total.Show();
cout<<endl;
total=coding+fixing;
cout<<"coding+fixing=";
total.Show();
cout<<endl;
getchar();
return0;
}

調(diào)用

復(fù)制代碼 代碼如下:

#include"stdafx.h"
#include"MyTime.h"
#include<iostream>

int_tmain(intargc,_TCHAR*argv[])
{
//比導(dǎo)入整個(gè)名稱空間更經(jīng)濟(jì)
usingstd::cout;
usingstd::endl;

Timeplanning;
Timecoding(2,50);
Timefixing(5,55);
Timetotal;
cout<<"planningtime=";
planning.Show();
cout<<endl;
cout<<"codingtime=";
coding.Show();
cout<<endl;
cout<<"fixingtime=";
fixing.Show();
cout<<endl;
total=coding.Sum(fixing);
cout<<"coding.Sum(fixing)=";
total.Show();
cout<<endl;
total=coding+fixing;
cout<<"coding+fixing=";
total.Show();
cout<<endl;
getchar();
return0;
}

執(zhí)行結(jié)果

重點(diǎn)講解
1.sum函數(shù)中將參數(shù)聲明為引用,可以提高運(yùn)行效率,節(jié)省內(nèi)存

2.sum函數(shù)中,返回值不能是引用。因?yàn)閟um對(duì)象是局部變量,在函數(shù)結(jié)束時(shí)將被刪除,因此引用將指向一個(gè)不存在的對(duì)象。使用返回類型Time意味著在刪除sum之前構(gòu)造他的拷貝,調(diào)用函數(shù)將得到他的拷貝。

相關(guān)文章

  • C++使用string的大數(shù)減法運(yùn)算(2)

    C++使用string的大數(shù)減法運(yùn)算(2)

    這篇文章主要為大家詳細(xì)介紹了C++使用string的大數(shù)減法運(yùn)算,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Linux下編譯C程序的過程

    Linux下編譯C程序的過程

    我們總是在Linux下輸入 gcc -o app main.c 即可編譯好程序,對(duì)于具體的詳細(xì)過程及流程,相信親們就不太了解啦!下面給大家展示一下C編譯器的解釋全過程。
    2016-01-01
  • C++?JSON庫(kù)?nlohmann::basic_json::accept的用法解析

    C++?JSON庫(kù)?nlohmann::basic_json::accept的用法解析

    nlohmann::basic_json::accept 是 Nlohmann JSON 庫(kù)中的一個(gè)方法,它用于檢查一個(gè)字符串是否可以解析為有效的 JSON,這篇文章主要介紹了C++?JSON庫(kù)nlohmann::basic_json::accept的用法,需要的朋友可以參考下
    2023-06-06
  • C++優(yōu)先隊(duì)列的使用小結(jié)

    C++優(yōu)先隊(duì)列的使用小結(jié)

    普通的隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),元素在隊(duì)列尾追加,而從隊(duì)列頭刪除,在優(yōu)先隊(duì)列中,元素被賦予優(yōu)先級(jí),本文主要介紹了C++優(yōu)先隊(duì)列的使用,感興趣的可以了解一下
    2023-11-11
  • C語(yǔ)言數(shù)據(jù)的存儲(chǔ)超詳細(xì)講解下篇浮點(diǎn)型在內(nèi)存中的存取

    C語(yǔ)言數(shù)據(jù)的存儲(chǔ)超詳細(xì)講解下篇浮點(diǎn)型在內(nèi)存中的存取

    使用編程語(yǔ)言進(jìn)行編程時(shí),需要用到各種變量來存儲(chǔ)各種信息。變量保留的是它所存儲(chǔ)的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),就會(huì)在內(nèi)存中保留一些空間。您可能需要存儲(chǔ)各種數(shù)據(jù)類型的信息,操作系統(tǒng)會(huì)根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲(chǔ)什么
    2022-04-04
  • 貪心算法 WOODEN STICKS 實(shí)例代碼

    貪心算法 WOODEN STICKS 實(shí)例代碼

    貪心算法 WOODEN STICKS 實(shí)例代碼,需要的朋友可以參考一下
    2013-05-05
  • C語(yǔ)言的abs()函數(shù)和div()函數(shù)你了解嗎

    C語(yǔ)言的abs()函數(shù)和div()函數(shù)你了解嗎

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言的abs()函數(shù)和div()函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C語(yǔ)言字符函數(shù)與字符串函數(shù)詳解

    C語(yǔ)言字符函數(shù)與字符串函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于C語(yǔ)言字符/字符串的相關(guān)函數(shù),文中通過示例代碼總結(jié)的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • c++中stack、queue和vector的基本操作示例

    c++中stack、queue和vector的基本操作示例

    這篇文章主要給大家介紹了關(guān)于c++中stack、queue和vector基本操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • C++使用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序算法示例

    C++使用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序算法示例

    這篇文章主要介紹了C++使用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序算法,結(jié)合實(shí)例形式分析了C++借助輔助棧實(shí)現(xiàn)棧排序算法的相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05

最新評(píng)論