作者conan77420 (人生就是不停的戰鬥)
看板C_and_CPP
標題[問題] 運算子多載/一元運算子
時間Thu Apr 8 22:05:26 2010
對於運算子多載的觀念是從二元運算子開始用的
今天在書上看到一元的寫法
假設我的物件中有一個number變數
1.如果是前測(ex. ++number):
int main()
{
mytype v1(建構子傳入參數);
++v1;
cout<<v1;
}
mytype& operator ++(void)
{
number++;
return *this;
}
==============================
2.如果是後測(ex. number++):
int main()
{
mytype v1(建構子傳入參數);
v1++;
cout<<v1;
}
mytype& operator ++(int)
{
number++;
return *this;
}
那本書上沒有說為什麼這樣寫
我用二元運算子
v1+v2 =====> v1.operator+(v2)
的想法去想,是不是不對?
為什麼一元運算子在多載的函式中,參數是給int 跟void (書上有說到這是啞元)
這...請問是什麼意思?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.114.71.36
推 nowar100:++為了分prefix和postfix 所以用參數來分 有傳int為post 04/08 22:10
→ nowar100:純粹只是區分用 傳進去的int不會去用到 04/08 22:11