求助!
下面注释的成员函数不是很明白#include<iostream>
#include<cstring>
using namespace std;
class employee{
char *name; // 雇员姓名
short age; // 年龄
float salary; // 工资
public:
employee(); //这个成员函数的作用是什么?不定义这个可以吗?
void set_name(char *);
void set_age(short a){age=a;}
void set_salary(float s){salary=s;}
void print();
~employee(){delete[]name;}
};
employee::employee() //这个成员函数的作用是什么?不定义这个可以吗?
{
name=0;
age=0;
salary=0.0;
}
void employee::set_name(char *n)
{
name=new char[strlen(n)+1];
strcpy(name,n);
}
void employee::print()
{
cout<<"Name: "<<name;
cout<<" Age: "<<age;
cout<<" Salary: "<<salary<<endl;
}
int main()
{
char *na=0;
short ag=0;
float sa=0;
na=new char[10];
employee emp[5];
for(int i=0;i<5;i++)
{
cin>>na;
cin>>ag;
cin>>sa;
emp[i].set_name(na);
emp[i].set_age(ag);
emp[i].set_salary(sa);
emp[i].print();
}
emp[3].set_salary(5100.0);
emp[3].print();
emp[1].~employee();
cin>>na;
emp[1].set_name(na);
emp[1].set_age(23);
emp[1].set_salary(2000.0);
emp[1].print();
system("pause");
return 0;
}