Re: [問題] 99台聯大第29題

看板TransCSI作者 (LaTtE)時間13年前 (2011/06/30 23:56), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串2/2 (看更多)
Cell&mulpitly(cell *a,cell *b) { cell new cell(0); int result=0; result=*a.get()$$b.get(); Newcell.set(result); return NewCell; } ※ 引述《longlongint (華哥爾)》之銘言: : 題目 : class Cell : { : public: : Cell(int v){value = v;} : void set(int v){value = v;} : int get(){return value;} : private: : int value; : }; : 根據以上類別定義 : 定義函數multiply 傳入兩個物件當參數,回傳一個物件其value值 : 為兩個參數value值的乘積 : 函數原型指定為 : Cell& multiply(Cell *a, Cell *b) {...} : 請定義 {...} 中的內容 : 我用dev c++ 硬是把碼做出來了 : 可是總覺得很奇怪,因為用new取得物件的動態記憶體配置時 : 我只能將他當成長度為1的陣列處理,非常奇怪 : 能像 int *num = new int;這樣處理嗎? : 我的程式碼如下 : #include<iostream> : using namespace std; : class Cell : { : public: : Cell(int v){value = v;} : void set(int v){value = v;} : int get(){return value;} : private: : int value; : }; : Cell& multiply(Cell *a, Cell *b) : { : int v = ((*a).get()) * ((*b) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.121.78

06/30 23:58, , 1F
result=*a.get()**b.get();
06/30 23:58, 1F

07/01 00:06, , 2F
雖然跟我的挺像的的 不過P幣(不知道能做什?)送出
07/01 00:06, 2F

07/01 00:09, , 3F
拿去編譯器編譯 編譯器不吃啊 XDXD
07/01 00:09, 3F

07/01 14:29, , 4F
而且我印象中"點"運算符的優先順序比"*"還高
07/01 14:29, 4F

07/01 14:30, , 5F
這樣寫是兩個整數指標相乘的意思吧?
07/01 14:30, 5F

07/01 14:32, , 6F
a.get()不是整數記憶體位置 不成立
07/01 14:32, 6F
文章代碼(AID): #1E39omKL (TransCSI)
文章代碼(AID): #1E39omKL (TransCSI)