看板Programming
标 题请问C++的运算子重载
发信站无名小站 (Tue Dec 5 01:29:28 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.ee.ttu!netnews.csie.nc
小弟对於运算子重载有些问题想请教大家
Class Alpha {
int a;
int b[3];
public:
Alpha(int x){a = x;}
Alpha& operator++(); // 前置
Alpha operator++(int); //後置
Alpha& operator+=(const Alpha& v);
Alpha& operaot[](int);
};
请问前置operaot++ 和operator+=, 我有看过有人使用
Alpha operator++();
Alpha operator+=();
1.也就是他们不是return by reference,请问这两种写法
那一个比较好呀!虽然两个执行起来好像都是对的.
2.另外一个问题就是,使用return by reference的时机是怎样?
3.最後operator[],为什麽一定要return by reference,能不能
解释一下.
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以不殆 alumni.csie.nctu.edu.tw海