关于默认函数的问题?
Employee.h
class Employee
{
public:
void disPlay();
void changName(char *str);
Employee(char *,char *,char *,char *str4,char *);
virtual ~Employee();
protected:
char *empName[5];
};
Employee.cpp
Employee::Employee(char *str1="noInformation\n",char *str2="noInformation\n",
char *str3="noInformation\n",char *str4="noInformation\n",
char *str5="noInformation\n")
{
empName[0]=str1;
empName[1]=str2;
empName[2]=str3;
empName[3]=str4;
empName[4]=str5;
}
Employee::~Employee()
{
}
void Employee::changName(char *str)
{
empName[0]=str;
}
void Employee::disPlay()
{
int i;
for(i=0;i<5;i++)
{
cout<<empName[i]<<endl;
}
}
empMain.cpp
void main()
{
Employee em("Mark Brooks","5 Weet St","Revere","CA");
// char buffer[255];
em.disPlay ();
em.changName ("Richard Voss");
em.disPlay ();
}
为什么会错呢?请给我解释一下为什么?