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小时内与您取得联系。