C++构造函数使用默认参数的问题

template<classT>classMin4{public:Min4(T,T,T=0,T=0);TMin();boolsetNum(intk);private:Tm... template <class T>
class Min4
{
public:
Min4(T,T,T=0,T=0);
T Min();
bool setNum(int k);
private:
T min(const T&,const T&);
T a,b,c,d;
int num;
};
如果在main()中,调用Min4<int> m(1,2);
程序能否知道当前对象m有几个实际参数。
补充一下:
就是说程序执行Min4<int> m(1,2);之后,是不是能知道当前对象传进去的参数个数。
我知道后面两个默认,但是程序怎么知道传进来的参数是(1,2,0,0),还是传进来的(1,2),这个怎么判断?
展开
 我来答
181066149
2009-09-28 · TA获得超过239个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:308万
展开全部
你这么写,就是前面2个用自己的参数,后面2个用默认参数
传进去的一定是(1,2,0,0)..
因为你也没写只有2个参数的构造函数啊!
(其实你要再加个Min4(T,T);也是编译不通过的,编译器就判断不出来是传2个参数还是4个参数了)
yuzhun21
2009-09-27 · TA获得超过373个赞
知道答主
回答量:101
采纳率:0%
帮助的人:81.2万
展开全部
当然知道啦,没有赋值的取默认参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰上游鱼
2009-09-27 · TA获得超过636个赞
知道小有建树答主
回答量:951
采纳率:0%
帮助的人:688万
展开全部
class Min4
{
public:
Min4(T a,T b,T c=0,T d=0)
{
};
T Min()
bool setNum(int k);
private:
T min(const T&,const T&);
T a,b,c,d;
int num;
};

void main()
{
Min4<int>m(1,2);
}

编译运行,完全可以。
相当于把前两个参数值赋给前两个,后两个默认。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式