请C++编程高手们帮我解答:带默认参数的构造函数在声明和定义时是否应该带默认参数 谢谢!
在C++编程中,在类里面声明构造函数时可以带默认参数,那么,在定义构造函数时,是否也应该带默认参数再具体定义呢?如果两个都带,为什么有时会造成编译错误呢?谢谢!...
在C++编程中,在类里面声明构造函数时可以带默认参数,那么,在定义构造函数时,是否也应该带默认参数再具体定义呢?如果两个都带,为什么有时会造成编译错误呢?
谢谢! 展开
谢谢! 展开
4个回答
2011-04-24
展开全部
两个地方都需要申明参数,但是在类中申明构造函数时候需要参数默认值,如:
Class X
{
X(int a=5);
}
在实现时候不用再给出默认值:
X::X(int a)
{
...
}
Class X
{
X(int a=5);
}
在实现时候不用再给出默认值:
X::X(int a)
{
...
}
展开全部
默认参数不得在函数声明和函数体实现时同时出现
定义构造函数并不一定需要默认参数
定义构造函数并不一定需要默认参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造函数分带参数和不带参数的两种。
例如:
不带参数的:
class Time
{public :
Time( )//l类内定义无参数构造函数
{hour=0;
minute=0;
sec=0;
}
带参数的:
class Box
{public :
Box(int,int,int);
int volume( );
private :
int height;
int width;
int length;
};
Box::Box(int h,int w,int len) //在类外定义带参数的构造函数
{height=h;
width=w;
length=len;
}
如果采用的是带参数的构造函数,则因该注意参数的个数问题,正确使用编译不会出错的。
例如:
不带参数的:
class Time
{public :
Time( )//l类内定义无参数构造函数
{hour=0;
minute=0;
sec=0;
}
带参数的:
class Box
{public :
Box(int,int,int);
int volume( );
private :
int height;
int width;
int length;
};
Box::Box(int h,int w,int len) //在类外定义带参数的构造函数
{height=h;
width=w;
length=len;
}
如果采用的是带参数的构造函数,则因该注意参数的个数问题,正确使用编译不会出错的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可以的!!!
c++ 的形参可以给默认值;
java 是不可以的。构造函数一样也不可以。
c++ 的形参可以给默认值;
java 是不可以的。构造函数一样也不可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询