• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++ 基础编程之十进制转换为任意进制及操作符重载

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++操作符重载,操作符重载,重载赋值操作符,java 操作符重载,操作符可以重载为类的等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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; 
} 
</div>

运行结果:

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C++ 基础编程之十进制转换为任意进制及操作符重载
  • C++中的三大函数和操作符重载(Boolan)
  • 基于C++中覆盖,重载,隐藏的一点重要说明
  • C++中的重载、覆盖、隐藏介绍
  • C++ new、delete(new[]、delete[])操作符重载需要注意的问题
  • c++重载的详细总结
  • C++中的操作符重载详细解析
  • C++输入输出操作符重载的深入分析

相关文章

  • 2017-05-28socket多人聊天程序C语言版(二)
  • 2017-05-28C语言实现时间戳转日期的算法(推荐)
  • 2017-05-28C++高级程序员成长之路
  • 2017-05-28显示内存状态示例分享
  • 2017-05-28solaris操作系统做c应用程序开发步骤
  • 2017-05-28VC基于ADO技术访问数据库的方法
  • 2017-05-28深入理解goto语句的替代实现方式分析
  • 2017-05-28C++实现动态绑定代码分享
  • 2017-05-28C++中sting类的简单实现方法
  • 2017-05-28Linux下用C++实现俄罗斯方块

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言中快速排序和插入排序优化的实现
    • C++之类和对象课后习题简单实例
    • C语言实现清空指定文件夹中所有文件的方法
    • Cocos2d-x保存用户游戏数据CCUserDefault类使用实例
    • 讲解C++的do while循环和循环语句的嵌套使用方法
    • Windows进程崩溃问题的定位方法
    • GCC 编译c程序的方法及过程解析
    • 详解C语言中的字符串拼接(堆与栈)
    • 详解图的应用(最小生成树、拓扑排序、关键路径、最短路径)
    • C语言中数组作为函数的参数以及返回值的使用简单入门

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有