[問題] class的一點問題

作者: midlanegod (>.*)   2016-04-12 19:46:36
大家好 我是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)'的錯誤訊息
請問這要如何做到只輸入其中幾個變數呢?
請各位高手指教 謝謝
作者: bibo9901 (function(){})()   2016-04-12 19:50:00
用 Default arguments宣告改成 class asd {... asd(int=1,int=2,int=3); ...}
作者: midlanegod (>.*)   2016-04-12 20:16:00
成功了喔 感謝b大

Links booklink

Contact Us: admin [ a t ] ucptt.com