國立中山大學

#新手 #新手 關於建構函數

5月16日 02:02
課程最近在學constructor與operator overloading 使用語言為C++ 以下附上程式碼與執行結果
我的理解是, 在40行呼叫cmatrix constructor,也就是沒有建構子的建構函數時, 會將addata矩陣裡的值重新設為1, 但為什麼後面輸出時在cmatrix[1][2]時仍然為4.5?
2
留言 6
文章資訊
Logo
每週有 34 則貼文
共 6 則留言
輔仁大學
因為第40行根本沒有呼叫constructor 也沒有作任何事 constructor只有在你宣告時會自動幫你初始化 例如第28行 你要在第40行有作用 要改成 cmatrix = matrix(); 等於是把舊的丟掉掉 再創一份新的
國立中山大學
constuctor只能被呼叫一次,就是一開始建立時那次
長庚大學
首先 constructor 不能直接被呼叫 再來 就算可以直接呼叫 那也會是像 cmatrix.matrix(); 這樣 你直接放一個 cmatrix; 在那邊 到底為啥會覺得這樣有 call 到 constructor