2017-03-28 81 views
-2

我有一個類,可以節省很大的數字作爲一個字符串,並可以在上面做一些一般的數學運算。其中一個操作是將一個int(0-9)賦給大數的一個數字。我的問題是如何重載操作符,並將int的值轉換爲char*並將其保存而不是我的字符串中的數字。 下面的代碼應該工作:如何分配一個int爲char *與運算符重載

\\ bignumber[3] == '8' 
bignumber[3] = 4 
\\ bignumber[3] == '4' 
+1

超載運營商轉換的'int'到'c​​har *'是一種黑暗的做法,不要那樣做,用一種方法來做到這一點。 – Rama

+1

你沒有。你保存一個基於'n +'0''的字符,其中'n' *必須*在[0 ... 9]中。 – WhozCraig

+0

我需要下面的代碼工作:'bignumber [3] = 5;' –

回答

-1

你可以把它轉換成字符串

int number; 
std::ostringstream stream_string; 
stream_string << number; 
string numberString = stream_string.str(); 

如果你想那個字符串轉換爲你的char *

bignumber[0] = numberString.c_str(); 
+0

它的作品,但它不是我的答案。問題是如何將int賦給char *只有一個表達式和運算符。不幸的是我不能改變這個問題! –