[問題] C++中class member與function parameter

看板C_and_CPP作者 (Teddy Bear)時間12年前 (2011/10/26 20:51), 編輯推噓0(004)
留言4則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2008 問題(Question): 有一程式大略如下 建立一個class 其中有兩個成員 int size 兩個class函數 第一個function可以傳入參數 func1(int size) 傳入主程式中buffer的值 第二的則不行 func2() 但我欲在第二個函數中也使用第一個傳入參數的資料 同時 第一個傳入的數值可以與其中一個class成員相同 但主程式的部分老師有限定 不能修改太多地方 所以不能直接在主程式撰寫 m.size=buffer; 個人的想法是只能透過 fun1(int size)取得參數大小後 再去更動class成員 int size的值 再讓fucn2去擷取 *[36m程式碼(Code):(請善用置底文網頁, 記得排版) *[m ...表示省略的code部分 ... class matrix{ int size; //class member int** m; //pointer of 2d-array void func1(int size) { //可以有傳入參數 ... } void func2() { //不可有傳入參數 ... size++; //假設在此想用到成員size的數值 ... //控制array上限所用 } }; int main() { int buffer; //如何透過func1使 m.size=buffer; ? matrix m; //但又不可直接在mian輸入m.size=buffer; cin>>buffer; ... func1(buffer); func2(); ... return 0; } 希望表達的還算清楚 請大大幫忙 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.122.62

10/26 20:55, , 1F
用 constructor 呢?
10/26 20:55, 1F

10/26 22:32, , 2F
void func1(int size){this->size=size; ...}
10/26 22:32, 2F

10/26 23:43, , 3F
建議先重看class用法,main也有錯。
10/26 23:43, 3F

10/30 19:16, , 4F
我用2樓的方法解決掉了 謝謝大家 我會再去複習class部分
10/30 19:16, 4F
文章代碼(AID): #1Eg09UBO (C_and_CPP)