[问题] 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