碰到一个这样的问题,希望大家一起来讨论一下问题2:
在vc++6.0里, int的极限是31bit….有上限,也有下限.为了在CAD的无限坐标领域里画图,我们要求你
定义一个class,类名叫end_less_int我们要求的是
1.) end_less_int 是存储一个整数的类,而且是无数值极限.
(提示-内部可以用链表形式存储数据)
2.) 给End_less_int 追加 + , - * , / , = 的运算符重载,可以自身对象之间相互运算.
除 = 运算符以外,其他运算符重载操作只需自身对象之间就可.
3.)  有显示自我数据的Fuction.(简单一点,用printf 就可以)比如 乘法
end_less_int x,y,z;
x = 100000000;y = 100000000;
z= x * y;
z.showme();//应该显示出 10000000000000000
x=z;
z=x*z;
z.showme();// 应该显示出 100000000000000000000000000000000

解决方案 »

  1.   

    这有什么难的,用int链表存储整数list<int> m_data;然后加法、减法都简单,只是进位和借位。乘法可以按照公式算(如果溢出用__int64类型):d*(m1+m2+m3)=d*m1+d*m2+d*m3除法麻烦一些
      

  2.   

    很久很久以前,(高二的时候),我编写过字符串的乘法和除法,简单的思路就是:
    乘法:
    str1从右边开始,每个字符当成整数与str的每个字符相乘,然后相加,并用字符串存储结果。
    除法:
    没有做过这么大的,只做过用一个整数,比较笑的,去除一个很大的数,比如100位的。不符合这里,就不说了。现在没有时间,以后有时间可以帮忙给你写写这个类,现在真的不行呀。