⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hugeint.cpp

📁 压缩包里有教材<<C++模式设计-基于QT4开源跨平台开发框架>>所有源码
💻 CPP
字号:
#include "hugeint.h"#include <iostream>HugeInt::HugeInt() : m_Size(0), m_DigitArray(0) {}HugeInt::HugeInt(long num) {    m_Size = 0;    set(num);}void HugeInt::set(long num) {    if (m_Size)         delete [] m_DigitArray;    m_Size = 0;    int num2 = num;    while (num2) {        ++m_Size;        num2 /= 10;    }    m_DigitArray = new int [m_Size];     for (int i = 0; i < m_Size; ++i) {        m_DigitArray[i] = num % 10;        num /= 10;    }}//startHugeInt::HugeInt(const HugeInt& hi) {    m_Size = hi.m_Size;    m_DigitArray = new int[m_Size];    for (int i = 0; i < m_Size; ++i)        m_DigitArray[i] = hi.m_DigitArray[i];}HugeInt::~HugeInt() {    delete [] m_DigitArray;}//endvoid HugeInt::show(bool newLine /*=false*/) const {    using namespace std;    for (int i = m_Size; i > 0; --i)        cout << m_DigitArray[i-1];    if (newLine)        cout << endl;}/* Here we assume that digits is an array of numerical digits,    each between 0 and 9, with a terminating null char. */void HugeInt::set(const char* digits) {    if (m_Size)         delete [] m_DigitArray;    for (m_Size = 0; digits[m_Size]; ++m_Size);    m_DigitArray = new int[m_Size];    for (int i = 0; i < m_Size; ++i) {        if ('0' > digits[i] || digits[i] > '9') {            //Design policy decision: What should we do here??        }        m_DigitArray[m_Size - i -1] = digits[i] - '0';    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -