关于默认函数的问题?

normalnotebook 2003-07-11 08:55:28
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 ();
}
为什么会错呢?请给我解释一下为什么?
...全文
22 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlfjck 2003-07-11
  • 打赏
  • 举报
回复
#include <iostream>
class Employee
{
public:
void disPlay();
void changName(char *str);
Employee(char *,char *,char *,char *str4,char *);
virtual ~Employee();

protected:
char *empName[5];
};

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++)
{
std::cout<<empName[i]<<std::endl;
}
}

void main()
{
Employee em("Mark Brooks","5 Weet St","Revere","CA");
// char buffer[255];
em.disPlay ();
em.changName ("Richard Voss");
em.disPlay ();
}
该好的程序
normalnotebook 2003-07-11
  • 打赏
  • 举报
回复
虽然你没有改对,但我还是很感谢你

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧