[問題] 關於C++的operator
開發平台(Platform): (Ex: Win10, Linux, ...)
Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
iostream
問題(Question):
我正在打大數的作業,全部運算子都已經打好了,但是在等號如果左右兩邊接著同名變數時
n1就會變成00000
以下範例為預設n1以及n2是2和3
想請問是哪裡漏打或是多打了什麼
餵入的資料(Input):
BigNUM n1(2),n2(3);
n1 = n1 + n2;
預期的正確結果(Expected Output):
5
錯誤結果(Wrong Output):
0
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
BigNUM & BigNUM::operator = (const BigNUM ©)
{
digits = copy.digits;
sign = copy.sign;
store = new char[space];
set_zero();
for (int i = 0; i < digits; i++)
{
store[i] = copy.store[i];
}
return *this;
}
補充說明(Supplement):
set_zero()函式是將陣列裡面的值都預設為0
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.109.9
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1530196539.A.4E4.html
→
06/28 22:52,
5年前
, 1F
06/28 22:52, 1F
→
06/28 22:54,
5年前
, 2F
06/28 22:54, 2F
→
06/28 22:54,
5年前
, 3F
06/28 22:54, 3F
→
06/28 22:55,
5年前
, 4F
06/28 22:55, 4F
→
06/28 22:55,
5年前
, 5F
06/28 22:55, 5F
→
06/28 22:57,
5年前
, 6F
06/28 22:57, 6F
→
06/28 22:58,
5年前
, 7F
06/28 22:58, 7F
→
06/28 22:59,
5年前
, 8F
06/28 22:59, 8F
→
06/28 22:59,
5年前
, 9F
06/28 22:59, 9F
→
06/28 23:05,
5年前
, 10F
06/28 23:05, 10F
→
06/28 23:05,
5年前
, 11F
06/28 23:05, 11F
推
06/28 23:09,
5年前
, 12F
06/28 23:09, 12F
→
06/28 23:12,
5年前
, 13F
06/28 23:12, 13F
→
06/28 23:12,
5年前
, 14F
06/28 23:12, 14F
→
06/28 23:16,
5年前
, 15F
06/28 23:16, 15F
→
06/28 23:18,
5年前
, 16F
06/28 23:18, 16F
→
06/28 23:18,
5年前
, 17F
06/28 23:18, 17F
→
06/28 23:20,
5年前
, 18F
06/28 23:20, 18F
→
06/28 23:20,
5年前
, 19F
06/28 23:20, 19F
→
06/28 23:49,
5年前
, 20F
06/28 23:49, 20F
→
06/29 08:20,
5年前
, 21F
06/29 08:20, 21F
→
06/29 08:20,
5年前
, 22F
06/29 08:20, 22F
→
06/29 08:24,
5年前
, 23F
06/29 08:24, 23F