📄 vlong.h
字号:
#ifndef VLONG_H_
#define VLONG_H_
#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <iterator>
#include <sstream>
#include <stdexcept>
using std::cout;
using std::cin;
using std::string;
using std::endl;
using std::vector;
using std::deque;
using std::cerr;
using std::stringstream;
using std::ostream;
using std::istream;
using std::domain_error;
const int seg_length = 8;
const long seg_num = 100000000;
const long divide = 10000;
class vlong
{
public:
vlong();
vlong(const vlong&);
vlong(const string&);
vlong(const int&);
vlong(const char*);
vlong(const vector<long>&, bool);
vlong& operator=(const vlong&);
vlong& operator=(const string&);
vlong& operator=(const int&);
vlong& operator=(const char*);
vlong& operator=(const vector<long>&);
vlong& operator++();
vlong& operator--();
void output() const;
void output_num_vector() const;
const string get_str() const;
const bool get_sig() const;
void set_sig(bool);
const int length() const;
const vector<long> get_vec() const;
protected:
void input();
void str_to_vec();
void vec_to_str();
void check_input();
bool check_positive(string&);
private:
string num_str;
vector<long> num_vector;
bool is_positive;
};
ostream& operator<<(ostream&, const vlong&);
istream& operator>>(istream&, vlong&);
const vlong operator+(const vlong&, const vlong&);
const vlong operator-(const vlong&);
const vlong operator-(const vlong&, const vlong&);
const vlong operator*(const vlong&, const vlong&);
const vlong operator/(const vlong&, const vlong&);
const vlong operator%(const vlong&, const vlong&);
const vlong operator+(const vlong&, const int);
const vlong operator-(const vlong&, const int);
const vlong operator*(const vlong&, const int);
const vlong operator/(const vlong&, const int);
const vlong operator%(const vlong&, const int);
const vlong operator+(const vlong&, const string&);
const vlong operator-(const vlong&, const string&);
const vlong operator*(const vlong&, const string&);
const vlong operator/(const vlong&, const string&);
const vlong operator%(const vlong&, const string&);
const vlong operator+(const int, const vlong&);
const vlong operator-(const int, const vlong&);
const vlong operator*(const int, const vlong&);
const vlong operator/(const int, const vlong&);
const vlong operator%(const int, const vlong&);
const vlong operator+(const string&, const vlong&);
const vlong operator-(const string&, const vlong&);
const vlong operator*(const string&, const vlong&);
const vlong operator/(const string&, const vlong&);
const vlong operator%(const string&, const vlong&);
const vlong operator+(const int, const string&);
const vlong operator-(const int, const string&);
const vlong operator*(const int, const string&);
const vlong operator/(const int, const string&);
const vlong operator%(const int, const string&);
const vlong operator+(const string&, const int);
const vlong operator-(const string&, const int);
const vlong operator*(const string&, const int);
const vlong operator/(const string&, const int);
const vlong operator%(const string&, const int);
const vlong operator+=(vlong&, const vlong&);
const vlong operator+=(vlong&, const int);
const vlong operator+=(vlong&, const string&);
const vlong operator-=(vlong&, const vlong&);
const vlong operator-=(vlong&, const int);
const vlong operator-=(vlong&, const string&);
const vlong operator*=(vlong&, const vlong&);
const vlong operator*=(vlong&, const int);
const vlong operator*=(vlong&, const string&);
const vlong operator/=(vlong&, const vlong&);
const vlong operator/=(vlong&, const int);
const vlong operator/=(vlong&, const string&);
const vlong operator%=(vlong&, const vlong&);
const vlong operator%=(vlong&, const int);
const vlong operator%=(vlong&, const string&);
#include "vlong.cpp"
#endif /*VLONG_H_*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -