C++ 基础编程之十进制转换为任意进制及操作符重载
创新互联主要从事成都做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务栾川,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792最近学习C++ 的基础知识,完成十进制转换为任意进制及操作符重载,在网上找的不错的资料,这里记录下,
实例代码:
#include#include #include using namespace std; using std::iterator; /// ///十进制转换为任意进制,为了熟悉操作符,也加了操作符重载。 ///包括自增(++),运算符重(+),赋值函数重载(=),输出符(<<) /// class TenToAny { vectorvalue; 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 =10) remain = 'A'+ remain % 10; else remain +='0'; value.push_back(remain); } vector ::reverse_iterator v= value.rbegin(); while(*v=='0') value.pop_back(); if(flag=='-') value.push_back(flag); } catch(char *e) { cout< 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 value =num.value; vector ::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< 另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:C++基础编程之十进制转换为任意进制及操作符重载-创新互联
标题URL:http://cdkjz.cn/article/cooehd.html