题16.创建一个employee类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。把表示构造函数、changname()、display()的函数的原型放在类定义中,构造函数初始化每个成员,display()函数把完整的对象数据打印出来。其中的数据成员是保护的,函数是公共的。
解:
#include<iostream.h>
#include<string.h>
class employee
{
protected:
char name[10]; // 姓名
char street[20]; // 街道地址
char city[10]; // 市
char prov[10]; // 省
char post[7]; // 邮政编码
int no; // 记录序号
public:
employee(char [],char [],char [],char [],char [],int);
void changename(char str[]);
void display();
};
employee::employee(char n[],char s[],char c[],char p1[],char p2[],int num)
{
strcpy(name,n);
strcpy(street,s);
strcpy(city,c);
strcpy(prov,p1);
strcpy(post,p2);
no=num;
}
void employee::changename(char n[])
{
strcpy(name,n);
}
void employee::display()
{
cout<<"输出记录 "<<no<<endl;
cout<<" 姓名:"<<name<<endl;
cout<<"街道地址:"<<street<<endl;
cout<<" 市:"<<city<<endl;
cout<<" 省:"<<prov<<endl;
cout<<"邮政编码"<<post<
解:
#include<iostream.h>
#include<string.h>
class employee
{
protected:
char name[10]; // 姓名
char street[20]; // 街道地址
char city[10]; // 市
char prov[10]; // 省
char post[7]; // 邮政编码
int no; // 记录序号
public:
employee(char [],char [],char [],char [],char [],int);
void changename(char str[]);
void display();
};
employee::employee(char n[],char s[],char c[],char p1[],char p2[],int num)
{
strcpy(name,n);
strcpy(street,s);
strcpy(city,c);
strcpy(prov,p1);
strcpy(post,p2);
no=num;
}
void employee::changename(char n[])
{
strcpy(name,n);
}
void employee::display()
{
cout<<"输出记录 "<<no<<endl;
cout<<" 姓名:"<<name<<endl;
cout<<"街道地址:"<<street<<endl;
cout<<" 市:"<<city<<endl;
cout<<" 省:"<<prov<<endl;
cout<<"邮政编码"<<post<