C++ 基础编程之十进制转换为任意进制及操作符重载
发布时间 - 2026-01-10 23:04:39 点击率:次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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
lovemo网页版地址 lovemo官网手机登录
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
制作企业网站建设方案,怎样建设一个公司网站?
如何在云主机快速搭建网站站点?
Laravel怎么使用artisan命令缓存配置和视图
Laravel如何实现数据库事务?(DB Facade示例)
实例解析Array和String方法
Laravel Session怎么存储_Laravel Session驱动配置详解
如何实现javascript表单验证_正则表达式有哪些实用技巧
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
Laravel如何优化应用性能?(缓存和优化命令)
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
详解vue.js组件化开发实践
Laravel如何处理表单验证?(Requests代码示例)
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
C++时间戳转换成日期时间的步骤和示例代码
Laravel如何实现模型的全局作用域?(Global Scope示例)
Android使用GridView实现日历的简单功能
JavaScript如何实现类型判断_typeof和instanceof有什么区别
新三国志曹操传主线渭水交兵攻略
如何用景安虚拟主机手机版绑定域名建站?
如何撰写建站申请书?关键要点有哪些?
如何用IIS7快速搭建并优化网站站点?
如何快速建站并高效导出源代码?
微信推文制作网站有哪些,怎么做微信推文,急?
深圳网站制作的公司有哪些,dido官方网站?
如何快速查询网站的真实建站时间?
JS弹性运动实现方法分析
奇安信“盘古石”团队突破 iOS 26.1 提权
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
敲碗10年!Mac系列传将迎来「触控与联网」双革新
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
高端企业智能建站程序:SEO优化与响应式模板定制开发
教学论文网站制作软件有哪些,写论文用什么软件
?
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel如何升级到最新版本?(升级指南和步骤)
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
焦点电影公司作品,电影焦点结局是什么?
android nfc常用标签读取总结
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程

