例如,我有这个构造函数:
member(char* name,char* lastName,int age, char* gender );
我在我的主要功能上创建了这个成员。
member("John","Smith",20);
由于我只提供了4个参数中的3个,我得到错误: 候选人需要4个参数,3个提供。 如何修复它,即使我错过了一个参数,也只是跳过它。
答案 0 :(得分:4)
您需要为最后一个参数指定默认值。类似的东西:
string
然后,当未指定最后一个参数时,它将采用默认值NULL。
答案 1 :(得分:1)
您可以在需要更多或更少参数的情况下创建函数的覆盖。
例如,对于您的情况,您可以创建两个具有相同名称(显然)的构造函数,除了一个接受4个参数并适当地处理它,另一个接受3并以自己的方式处理它。
示例:
member(char name, char lastName, int age){
//Do stuff here for the situation where 3 parameters are inputed
}
member(char name, char lastName, int age, char gender){
//Do stuff here for the situation where 4 parameters are inputed
}
答案 2 :(得分:1)
您可以为一个功能提供多个签名,例如:
member(char* name, char* lastName, int age)
和
member(char* name, char* lastName, int age, char* gender)