在name.h中定义类class,他有三个构造函数
Name();
Name(char *first);
Name(char *first, char *last);
这三个构造函数的实现在name.cpp中。(这时程序没有问题)
如果利用默认参数,构造函数为Name(char *first="default",char *last="default"); (在name.h中)
Name::Name(char *first="default",char *last="default") (name.cpp中为)
{
strcpy(firstname,first);
strcpy(lastname,last);
}
程序中出现两个问题
error C2572: 'Name::Name' : redefinition of default parameter : parameter 2
c:\documents and settings\administrator\桌面\name.h(11) : see declaration of 'Name::Name'
error C2572: 'Name::Name' : redefinition of default parameter : parameter 1
c:\documents and settings\administrator\桌面\name.h(11) : see declaration of 'Name::Name'
怎么改正在这种情况下才能正常运行
如果程序为
Name(char *first="default",char *last="default") (name.h中)
{
strcpy(firstname,first);
strcpy(lastname,last);
}
则程序没没问题
红糖糍粑
开满天机
墨色风雨