作者Fenikso (ばかちーは俺の嫁)
看板C_and_CPP
标题Re: [问题] operator overloading c++
时间Thu May 14 16:22:32 2009
※ 引述《hnaxiorll (fairyland)》之铭言:
: 因为最近c++作业,遇到阶乘的问题
: 如果我想 opertor overloading ! 来处理不知道这样可以吗??
: 如果可以那该如何下手呢?
: 感谢各位帮忙解答 m(─_─)m
又到了写低能code的时间~
以下VS2008限定, 2005或更早的可能不行
gcc的-fextended-identifiers还是个半成品(敲碗)
#define ! + 阶乘()
/* 这是全形的"!" 不是"!" */
struct 阶乘{};
int operator+(int x, const 阶乘& y) {
int j = 1;
for(int i=1; i<=x; i++) j *= i;
return j;
}
int main() {
cout << 5! << endl;
int a = 6;
cout << a ! << endl; // a和!中间要有空格 不然会被当成一个identifier
return 0;
}
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.156.17
※ 编辑: Fenikso 来自: 122.116.156.17 (05/14 16:24)
1F:推 ledia:haha 05/14 16:32
2F:推 adrianshum:服了你! :D 05/14 16:33
3F:推 littleshan:叔叔有练过 好孩子请勿任意模仿 XD 05/14 16:40
4F:推 legendmtg:XDDDD 05/14 16:55
5F:推 VictorTom:XDDDD 05/14 17:14
6F:→ windincloud:DDD <= 没照顾长id 05/14 17:20
7F:推 chrisdar: DDD 大推阿 05/14 18:08
8F:推 adrianshum:XDDD 05/14 18:42
9F:推 Ebergies: XDDDD 北烂到爆 05/14 20:23
10F:推 WPC001: XDDDD 一定要推的阿... 超级北烂 05/14 20:29
11F:推 hnaxiorll:囧 05/15 09:41
12F:推 yoco315:ㄎㄎ 05/18 01:15