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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

感动要哭 撸了一个半小时的重载预算符高精

發布時間:2023/12/13 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 感动要哭 撸了一个半小时的重载预算符高精 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

擼了一個半小時代碼,沒玩守望(垃圾游戲毀我青春五個金牌都帶不起隊友)最后編譯出312個錯誤。嚇我,然而改了幾個地方就直接過了直接過了直接過了,目前還是不明白ostream,istream的用處,上網才搞定的。只寫了加與乘還有比較。其他后面加吧。減法跟除都很惡心。。。。

代碼如下:

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #define maxn 5000 6 using namespace std; 7 struct SPH{ 8 int len,s[maxn]; 9 SPH(){ 10 memset(s,0,sizeof(s)); 11 len=1; 12 } 13 SPH operator = (const char* num) 14 { 15 len=strlen(num); 16 for(int i=0;i<len;++i) s[i]=num[len-i-1]-48; 17 return *this; 18 } 19 SPH operator=(const int num){ 20 char a[maxn]; 21 sprintf(a,"%d",num); 22 *this=a; 23 return *this; 24 } 25 SPH (const int num){ *this=num; 26 } 27 SPH (const char * num){ *this=num; 28 } 29 SPH operator+(const SPH & a) 30 { 31 SPH c; 32 c.len=max(len,a.len)+1; 33 int x=0; 34 for(int i=0;i<c.len;++i) 35 { 36 c.s[i]=s[i]+a.s[i]+x; 37 x=c.s[i]/10; 38 c.s[i]=c.s[i]%10; 39 } 40 if(c.s[c.len-1]==0) --c.len; 41 return c; 42 } 43 SPH operator+=(const SPH & a){ 44 *this=*this+a; 45 return *this; 46 } 47 SPH operator*(const SPH & x){ 48 SPH c; 49 c.len=len+x.len; 50 for(int i=0;i<len;++i){ 51 for(int j=0;j<x.len;++j){ 52 c.s[i+j]+=s[i]*x.s[j]; 53 c.s[i+j+1]+=c.s[i+j]/10; 54 c.s[i+j]%=10; 55 } 56 57 } 58 if(c.len-1) --c.len; 59 return c; } 60 SPH operator *=(const SPH & a){ 61 *this=*this * a; 62 return *this; 63 } 64 bool operator < (const SPH & x) const{ 65 if(len !=x.len) return len<x.len; 66 for(int i=len-1;i>=0;i--){ 67 if(s[i]!=x.s[i]) return s[i]<x.s[i]; 68 } 69 return false;} 70 bool operator >(const SPH & x) const {return x<*this;} 71 bool operator <=(const SPH & x) const {return !(x<*this);} 72 bool operator >=(const SPH & x) const {return !(x>*this);} 73 bool operator ==(const SPH & x) const {return !(x<*this||x>*this);} 74 bool operator !=(const SPH & x) const {return x<*this||x>*this;} 75 }; 76 ostream& operator << (ostream &out,const SPH& x){ 77 for(int i=x.len-1;i>=0;i--) 78 cout<<x.s[i]; 79 return out; 80 } 81 istream& operator >> (istream &in,SPH& x) 82 { 83 char num[maxn]; 84 in>>num; 85 x=num; 86 return in; 87 } 88 89 int main() 90 { 91 SPH n,m,sum; 92 cin>>n>>m; 93 sum=n+m; 94 cout<<sum<<" "; 95 sum=n*m; 96 cout<<sum; 97 return 0; 98 }

?

轉載于:https://www.cnblogs.com/srpihot/p/6379910.html

總結

以上是生活随笔為你收集整理的感动要哭 撸了一个半小时的重载预算符高精的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。