关于用构造函数给对象数组赋值的问题。急!!!
程序源代码:
#include<iostream.h>
#include<string.h>
class employee
{
private:
char name[40];
int age;
double salary;
public:
employee(char *n,int a,double s); //构造函数
void display();
};
employee::employee(char *n,int a,double s)
{
strcpy(name,n);
age=a;
salary=s;
}
void employee::display()
{
cout<<name;
cout<<endl;
cout<<age;
cout<<endl;
cout<<salary;
cout<<endl;
}
int main()
{
employee manyemps[3];
{
employee ("slaycke xulmberg",33,96000);
employee ("peorje posteau",45,350000);
employee ("teoberque jailbird",50,110000);
}
int x=0;
while(x<3)
{
manyemps[x].display();
x=x+1;
}
return 0;
}
这是我在一本书上看到的关于用构造函数给对象数组赋值的例程,可我按着代码敲进去才发现,他居然是错的,真是可恶至急!
错误:
***.cpp(30) : error C2512: 'employee' : no appropriate default constructor available
出错地方,主函数中的:
employee manyemps[3];
{
employee ("slaycke xulmberg",33,96000);
employee ("peorje posteau",45,350000);
employee ("teoberque jailbird",50,110000);
}
我理解它的意思是先定义一个类的对象数组(3个元素),然后通过不同的参数给他初始化。
那位大侠能告诉我他错在哪里?我试着改动但不成功,还有错。请问这部分到底应该怎么写?最好不要完全更换思路,好让我知道按它的方法到底应该怎么写才正确!
多谢!!!