关于构建简单C++very_long_int类的小问题~~

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:10:10
我想构建一个简单的Very_long_int类,用来处理高精度加法,以及相关输入输出,代码如下:
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

class very_long_int
{
friend istream& operator >> (istream& instream,very_long_int& very_long);
friend ostream& operator << (ostream& outstream,very_long_int very_long);
public:
very_long_int():digits(0){}
very_long_int operator+(const very_long_int& other_very_long);
private:
vector<char> digits;
char least(unsigned i) const;
};

istream& operator>>(istream& instream,very_long_int& very_long)
{
const char LOWEST_DIGIT_CHAR='0';
const char HIGHEST_DIGIT_CHAR='9';
const char SENTINEX='X';
char digit_char;
very_long.digits.erase(very_long.digits.begin(),very_long.digits.end());
do {
instream>>digit_char;
if((LOWEST_DIGIT_CHAR<=digit_char)&&(

//也只有vc6会有这种问题

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

/////////////这里事先声明一下就过了//////
class very_long_int;
istream& operator >> (istream& instream,very_long_int& very_long);
ostream& operator << (ostream& outstream,very_long_int very_long);
/////////////////////////////////////////
class very_long_int
{
friend istream& operator >> (istream& instream,very_long_int& very_long);
friend ostream& operator << (ostream& outstream,very_long_int very_long);
public:
very_long_int():digits(0){}
very_long_int operator+(const very_long_int& other_very_long);
private:
vector<char> digits;
char least(unsigned i) const;
};

istream& operator>>(istream& instream,very_long_int& very_long)
{
const char LOWEST_DIGIT_CHAR='0';
const char HIGHES