[問題] C++ 關於物件問題

看板C_and_CPP (C/C++)作者 (J shuttlesworth)時間7年前 (2018/12/14 20:00), 編輯推噓3(309)
留言12則, 5人參與, 7年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Win7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Visual C++ 目前我在練習C++物件這方面遇到ㄧ些小問題想請教大家 以下是我的原程式碼 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ class grade { private: int m_data[5]; public: void set_grade(int m[5]) { m[0]=10; m[1]=20; m[2]=30; m[3]=40; m[4]=50; int i; for (i=0;i<=4;i++) { m[i]=m_data[i]; //cin >> m[i]; } } int average() { return (m_data[0]+m_data[1]+m_data[2]+m_data[3]+m_data[4])/5; } void show_average() { cout << "五科平均=" << average() << endl; } }; void fun2() { cout << "請輸入五科成績" << endl; grade x; x.show_average(); } \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 這個問題主要是要用物件的方式設定五個成績 且限制成績必須為private 並且計算平均總分等等... 因為我目前問題卡著所以先假設五科成績初始值已知 現在執行完結果後平均顯示=0 我在猜想是我的fun2函數中的物件x沒給他值 但我怎麼設都會語法錯誤 或是我在其他地方也有錯誤才導致執行結果不對 再麻煩各位了謝謝 剛學物件這個東西覺得好亂ORZ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.143.173 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1544788817.A.AD0.html

12/14 20:18, 7年前 , 1F
你是不是沒call set_grade
12/14 20:18, 1F

12/14 21:10, 7年前 , 2F
https://goo.gl/iT9nzV 剛剛寫的code看看吧,有問題再
12/14 21:10, 2F

12/14 21:17, 7年前 , 3F
感謝樓上 我理解一下
12/14 21:17, 3F

12/15 01:17, 7年前 , 4F
你set的迴圈裡面寫反了啊…
12/15 01:17, 4F

12/15 04:49, 7年前 , 5F
沒call set_grade,所以x裡不會有值,但是因為你要先把
12/15 04:49, 5F

12/15 04:50, 7年前 , 6F
值寫死,不會輸入,所以也不能call set_grade,要先寫預
12/15 04:50, 6F

12/15 04:51, 7年前 , 7F
設值的話在constructor裡面設定五個m_data的值就可以了
12/15 04:51, 7F

12/15 04:53, 7年前 , 8F
另外就是樓上說的,迴圈裡是m_data[i] = m[i]才對,你寫
12/15 04:53, 8F

12/15 04:53, 7年前 , 9F
反了
12/15 04:53, 9F

12/15 13:53, 7年前 , 10F
謝樓上兩位 我懂了!
12/15 13:53, 10F

12/15 20:59, 7年前 , 11F
https://bit.ly/2LnoyAs 用建構子 constructor
12/15 20:59, 11F

12/15 21:50, 7年前 , 12F
謝謝樓上補充資訊!我來爬個文
12/15 21:50, 12F
文章代碼(AID): #1S4vjHhG (C_and_CPP)
文章代碼(AID): #1S4vjHhG (C_and_CPP)