2016-12-10 17 views
-1

arbitrary precisionデータ型を模倣するNumberクラスを作成しようとしています。カスタムデータ型の作成C++

私は、次の操作を実行できるようにしたい:

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 foo = 5; 
+1

定義整数をとる別の代入演算子のオーバーロード。 –

+1

それは初期化ですので、 'int'をとるコンストラクタが必要です。 – Galik

答えて

1

この行には、コンストラクタが必要です。ここでは一例です:

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

例えば、自分の番号が呼ばm_digitsstd::vector<int>に数字の列として保存されている、場合、あなたのコンストラクタの定義は次のようになります。

Number::Number(int I) : m_digits(1, I) 
{ 
} 
関連する問題