全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C++ 基础编程之十进制转换为任意进制及操作符重载

C++ 基础编程之十进制转换为任意进制及操作符重载

       最近学习C++ 的基础知识,完成十进制转换为任意进制及操作符重载,在网上找的不错的资料,这里记录下,

实例代码:

#include<iostream> 
#include<vector> 
#include<limits> 
using namespace std; 
using std::iterator; 
///<summary> 
///十进制转换为任意进制,为了熟悉操作符,也加了操作符重载。 
///包括自增(++),运算符重(+),赋值函数重载(=),输出符(<<) 
///</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; 
} 

运行结果:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C++  # 十进制转换为任意进制及操作符重载  # 十进制转换为任意进制及操作符重载C++的实现  # C++超详细讲解数组操作符的重载  # 详解C++赋值操作符重载  # C++-操作符重载、并实现复数类详解  # C++ 开发之实现操作符重载的实例  # C++中的三大函数和操作符重载(Boolan)  # 浅谈C++虚重载操作符 virtual operator= 的使用方法  # C++中的操作符重载详细解析  # C++输入输出操作符重载的深入分析  # C++超详细讲解操作符的重载  # 转换为  # 希望能  # 谢谢大家  # 运算符  # 在网上  # char  # long  # TenToAny  # summary  # iterator  # _n  # void  # Switch  # int  # _x  # public  # std  # class  # brush  # cpp 


相关文章: 如何做静态网页,sublimetext3.0制作静态网页?  PHP正则匹配日期和时间(时间戳转换)的实例代码  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  一键网站制作软件,义乌购一件代发流程?  大连网站设计制作招聘信息,大连投诉网站有哪些?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  北京网站制作网页,网站升级改版需要多久?  如何配置FTP站点权限与安全设置?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何通过VPS建站实现广告与增值服务盈利?  如何选择高效可靠的多用户建站源码资源?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  如何在Windows虚拟主机上快速搭建网站?  如何在IIS中新建站点并配置端口与IP地址?  如何快速生成凡客建站的专业级图册?  专业网站建设制作报价,网页设计制作要考什么证?  平台云上自助建站如何快速打造专业网站?  建站主机选哪家性价比最高?  建站主机功能解析:服务器选择与快速搭建指南  如何通过虚拟主机快速搭建个人网站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  Swift开发中switch语句值绑定模式  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  香港服务器如何优化才能显著提升网站加载速度?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何在腾讯云免费申请建站?  微课制作网站有哪些,微课网怎么进?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  如何在万网开始建站?分步指南解析  制作企业网站建设方案,怎样建设一个公司网站?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  c++怎么用jemalloc c++替换默认内存分配器【性能】  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  seo网站制作优化,网站SEO优化步骤有哪些?  黑客入侵网站服务器的常见手法有哪些?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  网站按钮制作软件,如何实现网页中按钮的自动点击?  如何彻底删除建站之星生成的Banner?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  建站主机如何选?高性价比方案全解析  如何在服务器上三步完成建站并提升流量? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。