c++ - 创建自定义数据类型 C++

标签 c++ class arbitrary-precision

我正在尝试创建一个模拟任意精度数据类型的Number类。

我希望能够执行以下操作:

Number a, b;
cin >> a >> b;
cout << "The sum of " << a << " and " << b << " is " 
<< a+b << endl;

目前我有:

class Number {
   public:
        Number & operator = (const Number & N);
        bool operator == (const Number & N) const;
        bool operator != (const Number & N) const;
        bool operator < (const Number & N) const;
        bool operator > (const Number & N) const;
        bool operator <= (const Number & N) const;
        bool operator >= (const Number & N) const;
        Number operator += (const Number & N);
        Number operator + (const Number & N) const;
        Number operator *= (const Number & N);
        Number operator * (const Number & N) const;
        friend ostream & operator << (ostream & output, const Number & N);
        friend istream & operator >> (istream & input, Number & N);
};

我如何才能将 Number Class 设置为特定值?

Number foo = 5;

最佳答案

对于该行,您需要一个构造函数。这是一个例子:

class Number {
public:
    Number(int I = 0);
...
};

例如,如果您的号码存储为 std::vector<int> 中的数字序列称为 m_digits ,那么您的构造函数的定义可能如下所示:

Number::Number(int I) : m_digits(1, I)
{
}

关于c++ - 创建自定义数据类型 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41071953/

相关文章:

适用于 Windows、Linux 和 Mac 的 C++ 简单 GUI

c# - C# 枚举的奇怪行为

javascript - 在 JavaScript 中加载和稍后引用纹理图 block 的最有效方法是什么?

c++ - 无需额外库的大量 float

postgresql - 如何在 ALTER TABLE 中设置精度和比例

c++ - 异步读取完成,但缓冲区不包含预期结果

c++ - 是否有可能在 Linux 中的 C/C++ 中获得指定日期/时间到达时的通知?

Java:如何从 String 创建类列表

programming-languages - 哪些编程语言支持任意精度算术?

c++ - make_pair 如何隐式推断类型?