[問題] hw5
剛手殘刪掉..
我寫了個程式
#include<iostream>
using namespace std;
class A
{
public:
A(int a){d=a;}
A operator ++(int)
{
cout<<"call ++(int)"<<endl;
d++;
return *(this);
}
bool operator !=(const A& right)
{
cout<<"call !="<<endl;
cout<<"left: "<<d<<" , right:"<<right.d<<endl;
return d != right.d;
}
int d;
};
int main()
{
A a(0),b(1);
if(a++ != b)
cout<<"!="<<endl;
return 0;
}
輸出結果是
call ++(int)
call !=
left: 1 , right:1
照理說operator overloading不會改變規則才對..
的確不是precedence問題
如果把A換成int結果就不一樣
--
另外一個問題是
我的程式 adta -r 1
產生出來的跟老師的不一樣
第二次 adta -r 1 跟老師第一次 adta -r 1 一樣
而這部份我們應該都不會動到..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.11.116
※ 編輯: djshen 來自: 111.248.11.116 (11/23 20:28)
※ 編輯: djshen 來自: 111.248.11.116 (11/23 20:38)
※ 編輯: djshen 來自: 111.248.11.116 (11/23 20:47)
推
11/23 20:48, , 1F
11/23 20:48, 1F
推
11/23 21:08, , 2F
11/23 21:08, 2F
→
11/23 21:09, , 3F
11/23 21:09, 3F
→
11/23 21:10, , 4F
11/23 21:10, 4F
推
11/23 21:12, , 5F
11/23 21:12, 5F
→
11/23 21:12, , 6F
11/23 21:12, 6F
→
11/23 21:13, , 7F
11/23 21:13, 7F
推
11/23 21:14, , 8F
11/23 21:14, 8F
→
11/23 21:27, , 9F
11/23 21:27, 9F
※ 編輯: djshen 來自: 111.248.11.116 (11/23 21:27)
討論串 (同標題文章)