Re: [問題] 關於class的member func
原Po應該是希望這個class可以在
每次宣告的時候都給
abc::membFunc(int here)的here這個參數不同的預設值
通常寫function參數的預設值就改成像
abc::membFunc(int here=0)就好
但是原po希望可以藉由建構元設定那個初始值而不是
讓它鎖死成一個值
我的建議是你不彷多弄個成員變數先存這個預設值
※ 引述《boson18 (boson18)》之銘言:
: 假設程式碼如下
: class abc
: {
: public:
abc(int xNum,int here);//constructor
int membFunc(int here=-999);
: private:
: int aNum;
int defHere;
: }
: int main()
: {
: ......
: }
abc::abc(int xNum,int here):aNum(xNum),defHere(here)
{
//constructor initialize
}
然後在membFunc裡先給here一個預設值 function一開始先判斷
here是不是那個預設值,如果是代表使用者想用預設值
int abc::membFunc(int here=-999)
{
if(here==-999)
here = defHere;
.......
}
↑(話說在這裡好像不能寫入=-999 一定只能在header裡寫的樣子 我不太確定)
像這樣
不過這麼做的話function宣告時這個here的值就要給一個不會被用到的值做預設值
不然有可能會剛好傳入跟預設值一樣而被改成defHere的值
而沒達到預期的結果
暫時想不出更好的解法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.18.167
※ 編輯: world9918 來自: 220.136.18.167 (04/02 13:37)
推
04/02 13:47, , 1F
04/02 13:47, 1F
推
04/02 13:48, , 2F
04/02 13:48, 2F
→
04/02 13:48, , 3F
04/02 13:48, 3F
→
04/02 14:59, , 4F
04/02 14:59, 4F
推
04/02 17:17, , 5F
04/02 17:17, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章