欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C++ 基礎(chǔ)編程之十進(jìn)制轉(zhuǎn)換為任意進(jìn)制及操作符重載

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊: 次

C++ 基礎(chǔ)編程之十進(jìn)制轉(zhuǎn)換為任意進(jìn)制及操作符重載

       最近學(xué)習(xí)C++ 的基礎(chǔ)知識(shí),完成十進(jìn)制轉(zhuǎn)換為任意進(jìn)制及操作符重載,在網(wǎng)上找的不錯(cuò)的資料,這里記錄下,

實(shí)例代碼:

#include<iostream> 
#include<vector> 
#include<limits> 
using namespace std; 
using std::iterator; 
///<summary> 
///十進(jìn)制轉(zhuǎn)換為任意進(jìn)制,為了熟悉操作符,也加了操作符重載。 
///包括自增(++),運(yùn)算符重(+),賦值函數(shù)重載(=),輸出符(<<) 
///</summary> 
class TenToAny 
{ 
  vector<char> value; 
  long long _n; 
  long long _x; 
public: 
  TenToAny():_n(10),_x(0) 
  {   
 
  } 
  void Switch() 
  { 
    try 
    { 
      int x=_x, n=_n; 
      char flag=' '; 
      if(x>LONG_MAX||x<LONG_MIN) 
        throw "溢出"; 
      if(x<0) 
      { 
        flag='-'; 
        x=-x; 
      } 
     
      while(x!=0) 
      { 
        long long remain = x%n; 
         x = x/n; 
     
        if(remain>=10) 
          remain = 'A'+ remain % 10; 
        else  
          remain +='0'; 
        value.push_back(remain); 
      } 
      vector<char>::reverse_iterator v= value.rbegin(); 
      while(*v=='0') 
        value.pop_back(); 
      if(flag=='-') 
        value.push_back(flag); 
    } 
    catch(char *e) 
    { 
      cout<<e<<endl; 
    } 
  } 
  TenToAny(long long n,long long x) 
  { 
    _n=n; 
    _x=x; 
    Switch(); 
  } 
  TenToAny &operator = (const TenToAny &num) 
  { 
    if(this==&num) 
      return *this; 
    value=num.value; 
    _n=num._n; 
    _x=num._x; 
    return *this; 
  } 
  TenToAny operator +(const TenToAny &num1) 
  { 
    TenToAny num; 
    num._x=num1._x + _x; 
    num._n=num1._n; 
    num.Switch(); 
    return num; 
  } 
  TenToAny &operator ++()//前置++ 
  { 
    _x++; 
    value.clear(); 
    this->Switch(); 
    return *this; 
  } 
  TenToAny &operator ++(int)//后置++ 
  { 
    TenToAny *temp=new TenToAny(this->_n,this->_x); 
    _x++; 
    value.clear(); 
    this->Switch(); 
    return *temp; 
  } 
  friend ostream &operator <<(ostream &out,TenToAny num); 
   
 
}; 
ostream &operator <<(ostream &out,TenToAny num) 
{ 
  vector<char> value =num.value; 
  vector<char>::reverse_iterator v= value.rbegin(); 
  for(;v!=value.rend();v++) 
  { 
    out<<*v; 
  } 
  return out; 
} 
int main() 
{ 
  TenToAny num(19,111); 
  TenToAny copy(19,222); 
  TenToAny sum; 
  sum =num+copy; 
  cout<<num<<endl; 
  cout<<copy<<endl; 
 
  cout<<copy++<<endl; 
 
  cout<<(++copy)<<endl; 
 
  return 0; 
} 

運(yùn)行結(jié)果:

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有