题目描述
声明一个Employee类,其中包括表示姓名、街道地址、城市和邮编等属性,包括ChangeName()和display()等函数。Display()使用cout语句显示姓名、地址、城市和邮编等属性,函数setName()改变对象的姓名属性,实现并测试这个类。
一个文件时:
#include <iostream>
#include <string>
using namespace std;
class Employee
{
private:
char name[30];
char address[30];
char city[20];
char code[8];
public:
Employee(char *n, char *add, char *ct, char *cd);
void change_name(char *n);
void display();
};
Employee::Employee(char *n, char *add, char *ct, char *cd)
{
strcpy(name, n);
strcpy(address, add);
strcpy(city, ct);
strcpy(code, cd);
}
void Employee::change_name(char *nm)
{
strcpy(name, nm);
}
void Employee::display()
{
cout << name << " " << address << " ";
cout << city << " " << code;
}
void main()
{
Employee e("Xiao Hua", "Haidian", "Beijing", "100001");
e.display();
cout << endl;
e.change_name("Xiao Liu");
e.display();
cout << endl;
}
多文件时:
文件1:empoyee.h
#ifndef EMPLOYEE_H_ //为了避免重复包含,通过了编译预处理指令,开头和结尾处加上标签
#define EMPLOYEE_H_
#include <iostream>
#include <string>
using namespace std;
class Employee{
char* name; //定义了一个指向字符的指针变量name
char* address;
char* city;
char* code;
public:
Employee(char* n = "", char* add = "", char* ct = "", char* cd = ""):name(n), address(add), city(ct), code(cd){}
void display(){ //这个函数所要实现的功能是显示输出
cout << "name" << name << endl;
cout << "address" << address << endl;
cout << "city" <<city<< endl;
cout << "code" << code << endl;
}
void change_name(char* nm){ //实现改变名字
name = nm;
}
};
#endif
文件2:empoyee.cpp
#include"employee.h"
using namespace std;
int main()
{
Employee e("Xiao Hua", "Haidian", "Beijing", "100001");
e.display();
e.change_name("Xiao Liu");
e.display();
system("pause");
return 0;
合并为:
#ifndef EMPLOYEE_H_ //为了避免重复包含,通过了编译预处理指令,开头和结尾处加上标签
#define EMPLOYEE_H_
#include <iostream>
#include <string>
using namespace std;
class Employee{
char* name; //定义了一个指向字符的指针变量name
char* address;
char* city;
char* code;
public:
Employee(char* n = "", char* add = "", char* ct = "", char* cd = ""):name(n), address(add), city(ct), code(cd){}
void display(){ //这个函数所要实现的功能是显示输出
cout << "name" << name << endl;
cout << "address" << address << endl;
cout << "city" <<city<< endl;
cout << "code" << code << endl;
}
void change_name(char* nm){ //实现改变名字
name = nm;
}
};
#endif
int main()
{
Employee e("Xiao Hua", "Haidian", "Beijing", "100001");
e.display();
e.change_name("Xiao Liu");
e.display();
system("pause");
return 0;
}