日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

# c++运算符重载之 前置++, 后置++, 负号运算符, 类型转换函数, 以及输入输出运算符...

發(fā)布時(shí)間:2025/4/9 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 # c++运算符重载之 前置++, 后置++, 负号运算符, 类型转换函数, 以及输入输出运算符... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

c++運(yùn)算符重載之 前置++, 后置++, 負(fù)號(hào)運(yùn)算符, 類(lèi)型轉(zhuǎn)換函數(shù), 以及輸入輸出運(yùn)算符

標(biāo)簽(空格分隔): c++


前言

我在c++學(xué)習(xí)的過(guò)程中, 對(duì)這幾個(gè)不太常見(jiàn)的運(yùn)算符重載不太會(huì)寫(xiě)。出現(xiàn)了很多bug,而且搜索網(wǎng)上東西也比較少,所以特地寫(xiě)這一篇來(lái)分享給大家,同時(shí)加深印象。有出錯(cuò)的地方希望給位朋友斧正。


先看例子, 我定義一個(gè)類(lèi) Int 和我們基礎(chǔ)的c++ int是一個(gè)意思

using namespace std; #include <iostream> class Int {int data; public:Int &operator++(); //前置++operator int(); //轉(zhuǎn)換運(yùn)算符Int operator++(int) ; //后置++Int &operator--() ; //前置--Int operator--(int) ; //后置--Int operator-() ; //負(fù)號(hào)運(yùn)算符friend ostream & operator<<(ostream &out, Int& a) ; //輸出運(yùn)算符號(hào)friend istream & operator >> (istream &in, Int& a) ; //輸入運(yùn)算符號(hào)};

1.前置與后置++ 前置–和后置–

首先明確的是咱們c和c++ 的前置++和后置++ 都是重載的++ 那他們的重載怎么寫(xiě)呢?

Int& Int::operator++() { //前置++this->data++; return *this;}Int Int::operator++(int) { //后置++Int tmp(*this);this->data++;return tmp;}Int& Int::operator--() { //前置--this->data--;return *this;}Int Int::operator--(int) { //后置--Int temp(*this);this->data--;return temp;}

Int& Int::operator++() //前置++
Int Int::operator++(int) //后置++
細(xì)心的朋友已經(jīng)發(fā)現(xiàn)了 關(guān)鍵在于后置的重載++ 首先返回的是Int而不是 對(duì)象的引用, 然后在最后面(int)加了int參數(shù) 。 第一個(gè)問(wèn)題好解決,因?yàn)槲液笾?#43;+函數(shù)返回的是tmp這個(gè)臨時(shí)對(duì)象,在函數(shù)結(jié)束后被釋放了,所以當(dāng)然不能傳引用啦, 對(duì)于第二個(gè)問(wèn)題,這個(gè)是c++的規(guī)定。好吧我也很無(wú)語(yǔ)。只要在重載操作符的參數(shù)中加上一個(gè)int型參數(shù),記住你改成double 都會(huì)錯(cuò)的。

前置–和后置–原理與前面相同,代碼相似,不予復(fù)述。

2類(lèi)型轉(zhuǎn)換函數(shù)

轉(zhuǎn)化運(yùn)算符, 就是把類(lèi)的對(duì)象轉(zhuǎn)化成其他(基本類(lèi)型,或其他類(lèi)型)

Int::operator int() { //轉(zhuǎn)換運(yùn)算符return data;}

函數(shù)形式里不能有返回值,不能有參數(shù),只能返回要轉(zhuǎn)換的數(shù)據(jù)類(lèi)型。 這里int是我要轉(zhuǎn)化的類(lèi)型所以我括號(hào)前是寫(xiě)int 返回的也是int 類(lèi)型。

用于處理這樣的問(wèn)題

int c = 0; Int c1(2); c = c1; //這時(shí) c1調(diào)用類(lèi)型轉(zhuǎn)換函數(shù) 對(duì)象c1返回了int 賦給變量c

3負(fù)號(hào)重載

Int Int::operator-() { //負(fù)號(hào)運(yùn)算符Int tmp;tmp.data = -data;return tmp;}

函數(shù)形式里,不能有參數(shù),返回對(duì)象(不能是引用原因和后置++相同)。
記住要用一個(gè)臨時(shí)的tmp來(lái)儲(chǔ)存變負(fù)的對(duì)象屬性值,返回tmp
下面是錯(cuò)誤的寫(xiě)法:

Int Int::operator-() { //負(fù)號(hào)運(yùn)算符data = -data;}

重載-號(hào)的意思不是直接改變對(duì)象的符號(hào),是返回一個(gè)符號(hào)相反的對(duì)象,舉個(gè)例子,-5不是說(shuō)把5改成負(fù)數(shù),是得到5的相反數(shù),準(zhǔn)確說(shuō),負(fù)號(hào)有兩個(gè)重載,取反操作符和減號(hào)操作符,這個(gè)是前者


4輸入輸出重載

ostream & operator<<(ostream &out, Int& a) { //輸出運(yùn)算符號(hào)out << a.data;return out;}istream & operator >> (istream &in, Int& a) { //輸入運(yùn)算符號(hào)in >> a.data;return in;}

提幾個(gè)小問(wèn)題吧, 首先所有參數(shù)都是引用不是對(duì)象(尤其是輸入函數(shù)不傳引用,輸入函數(shù)不改變值) 然后要記得 istream是用在輸入中 不要用反, 不要加作用域運(yùn)算符。

轉(zhuǎn)載于:https://www.cnblogs.com/qq874455953/p/9589224.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的# c++运算符重载之 前置++, 后置++, 负号运算符, 类型转换函数, 以及输入输出运算符...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美另类天堂 | 久久精品99国产国产精 | 亚洲欧洲综合在线 | 欧美视频福利 | 欧美综合社区 | 超碰国产在线观看 | 一级丰满大乳hd高清 | 免费国产一级 | 天堂av在线免费观看 | 国产精品视频a | 亚洲xx网 | 日本体内she精高潮 男女视频在线免费观看 | 国产aⅴ片 | 高清视频在线免费观看 | 亚洲激情另类 | bbbbbxxxxx性欧美| 伊人久久久久噜噜噜亚洲熟女综合 | 国产一二三区精品 | 图书馆的女友在线观看 | 正在播放老肥熟妇露脸 | 中文字幕18页 | 免费在线一级片 | 11一12免费毛片 | 欣赏asian国模裸体pics | 国产又粗又长又黄 | 午夜一级免费 | 人人爽人人爽人人片 | 朝桐光在线观看 | 高清无码一区二区在线观看吞精 | 日本不卡网| 国产国语性生话播放 | 欧美视频一区二区在线 | 国产日韩欧美综合 | 牛牛精品视频 | 欧美做受xxxxxⅹ性视频 | 激情91视频 | www色视频| 狠狠艹视频 | 国产不卡视频在线播放 | 国产色婷婷一区二区 | 欧美性猛交久久久久 | 天堂影视在线观看 | 国内自拍偷拍网 | 91福利一区 | 免费成人美女在线观看. | 在线观看国产精品一区 | 9i看片成人免费高清 | 日韩精品一区二区亚洲av | wwwsss在线观看| 日日日网站 | 人超碰| 麻豆91精品 | 欧美毛片视频 | 国产色一区二区 | 一级毛毛片 | 欧美日韩一级大片 | 亚洲精品字幕在线观看 | av爱爱爱 | 国产又粗又猛又爽又黄的 | 一本视频 | 亚洲乱码一区二区 | 亚洲一级片免费看 | 中文字幕婷婷 | 97干干| 亚洲午夜一区二区三区 | 农村激情伦hxvideos | 欧美成人性生活视频 | 亚洲一区二区国产精品 | 国产污污网站 | 精人妻一区二区三区 | 情侣自拍av| 成人av网址在线观看 | 91黄色免费版 | 黄色三级在线视频 | 久久人人爽人人爽人人片亚洲 | 一级α片免费看刺激高潮视频 | av大全网站| 波多野结衣av一区二区全免费观看 | 中文字幕一区二区三区在线视频 | 好吊色视频在线观看 | 成人午夜视频一区二区播放 | 成人黄色大片 | 亚洲人 女学生 打屁股 得到 | 怡红院av久久久久久久 | 超碰成人久久 | 骚虎免费视频 | 亚洲图片一区二区三区 | 这里只有精品视频在线 | 国产高清免费在线观看 | 女优色图 | 国产成人精品一区二区三区免费 | 亚洲精品国产一区二 | 性活交片大全免费看 | 亚洲一区二区日韩欧美 | 亚洲日日日| 日日草夜夜草 | 欧美日韩在线视频免费 | 99热这里只有精品2 91免费版黄 | 澳门三级|