看板 C_and_CPP 關於我們 聯絡資訊
大家好 我是C++新手 最近學到class我有些問題 這是.h檔中的程式碼(範例) class asd{ public: asd(); asd(int,int,int); int a; int b; int c; int fun1(); int fun2(); int fun3(); }; asd::asd(){ //預設 a=1; b=2; c=3; } asd::asd(int fun1,int fun2,int fun3) { a=fun1; b=fun2; c=fun3; } int asd::fun1(){ return a; } int asd::fun2() { return b; } int asd::fun3() { return c; } 這個程式碼在.cpp中執行的結果是: 我可以asd a1(變數,變數,變數)或者是直接asd a1(預設中a=1,b=2,c=3) 但是我沒辦法只宣告其中的一兩個變數 例如:asd(變數,變數) 然後第三個變數會等於預設中的3 執行會跑出error: no matching function for call to 'asd::asd(int, int)'的錯誤訊息 請問這要如何做到只輸入其中幾個變數呢? 請各位高手指教 謝謝 -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.54.231 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1460461599.A.54D.html
bibo9901: 用 Default arguments 04/12 19:50
bibo9901: 宣告改成 class asd {... asd(int=1,int=2,int=3); ...} 04/12 19:50
midlanegod: 成功了喔 感謝b大 04/12 20:16