日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

"運(yùn)算符"幾乎是所有的編程語(yǔ)言中都會(huì)出現(xiàn)的概念,例如+、-、*、/ 就是最常見(jiàn)的運(yùn)算符。C++預(yù)定義的運(yùn)算符只能作用于C++已經(jīng)定義的基本數(shù)據(jù)類型,對(duì)于用戶自定義的類型,如果也需要進(jìn)行類似的運(yùn)算操作的話,就需要重新去定義這些運(yùn)算,賦予運(yùn)算符新的功能,即"運(yùn)算符重載"。

一、運(yùn)算符重載時(shí)需要注意的點(diǎn)

  1. 運(yùn)算符重載不改變運(yùn)算符的"優(yōu)先級(jí)"與"結(jié)合性",也不改變運(yùn)算符的操作數(shù)個(gè)數(shù)。
  2. 重載運(yùn)算符時(shí)不應(yīng)該改變運(yùn)算符的含義,比如說(shuō)"+"重載之后仍然表示加法的含義。
  3. 運(yùn)算符重載的本質(zhì)是函數(shù)重載,運(yùn)算符函數(shù)可以作為成員函數(shù),也可以作為非成員函數(shù),作為非成員函數(shù)時(shí)一般為友元函數(shù)。
  4. 在大多數(shù)情況下,將運(yùn)算符函數(shù)重載為類的成員函數(shù)和類的友元函數(shù)都是可以的。但是要注意下面幾個(gè)運(yùn)算符函數(shù)必須要重載為成員函數(shù):=、[]、()、->。
  5. C++中大部分運(yùn)算符都是可以被重載的,但是有5個(gè)運(yùn)算符不允許被重載:"."、".*"、"::"、"?:"、"sizeof"。

二、運(yùn)算符重載的語(yǔ)法:

<返回值類型> operator<運(yùn)算符>(<形參列表>)
{
                      //函數(shù)體
}

三、運(yùn)算符重載實(shí)例(復(fù)數(shù)類)

#include <IOStream>
using namespace std;

class Complex 
{
public:
    Complex(int real, int imag);
    ~Complex();
    
    // 成員函數(shù)重載運(yùn)算符
    Complex& operator+(const Complex& c);

    // 友元函數(shù)重載"流操作運(yùn)算運(yùn)算符"
    friend ostream& operator<<(ostream& out, const Complex& c);

private:
    int real_;
    int imag_;
};

Complex::Complex(int real, int imag)
{
    real_ = real;
    imag_ = imag;
}

Complex::~Complex()
{

}

Complex& Complex::operator+(const Complex& c)
{
    this->real_ += c.real_;
    this->imag_ += c.imag_;
    return *this;
}

ostream& operator<<(ostream& out, const Complex& c)
{
    out << c.real_;
    if(c.imag_ > 0)
        out << "+" << c.imag_ << "i";
    else 
        out << c.imag_ << "i";
    return out;
}

int main()
{
    Complex a(4, -6);
    cout << a << endl;      // 等于operator<<(cout, a);

    Complex b(4, 3);
    cout << b << endl; 
    
    Complex c = a + b;      
    cout << c << endl; 

    return 0;
}

 

C++中的運(yùn)算符重載

分享到:
標(biāo)簽:運(yùn)算符
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定