1、实验目的
·理解类与对象的区别。
·学习掌握定义构造函数与析构函数的方法。
·学习把握默认构造函数的意义。
·了解类成员初始化,掌握构造与析构类成员的方式。
2、实验内容
(1)创建一个Employee类,该类中用字符数组存放Employee的信息,如姓名、地址、市、省、及邮政编码;每个成员函数的定义放在类定义之外;成员函数包括改变姓名数据成员等;构造函数完成成员数据的初始化;用Display()函数将完整的对象数据打印出来;其中数据成员是保护的,成员函数是公共的。
#include "StdAfx.h"
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
//创建一个Employee类,该类中用字符数组存放Employee的信息,如姓名、地址、市、省、及邮政编码;
//每个成员函数的定义放在类定义之外;成员函数包括改变姓名数据成员等;构造函数完成成员数据的初始化;
//用Display()函数将完整的对象数据打印出来;其中数据成员是保护的,成员函数是公共的。
class Employee
{//创建一个Employee类,该类中用字符数组存放Employee的信息
//如姓名、地址、市、省、及邮政编码;
public://成员函数是公共的。
Employee(char n[20],char a[50],char s[20],char sh[20],char p[6]);
void ChangeName(char ch_name[20]);
void ChangeAddress(char*);
void ChangeCity(char*);
void ChangeProvince(char*);
void ChangeZipcode(char*);
void Display();
private://数据成员是保护的
char name[20];
char address[50];
char city[20];
char province[20];
char post[6];
};
//每个成员函数的定义放在类定义之外
Employee::Employee(char n[20],char a[50],char s[20],char sh[20],char p[6])
//构造函数完成成员数据的初始化
{
strcpy (name,n);
strcpy (address,a);
strcpy (city,s);
strcpy (province,sh);
strcpy (post,p);
}
void Employee::ChangeName(char ch_name[20])
//改变employee中姓名变量
{
strcpy(name,ch_name);
}
void Employee:: ChangeAddress(char *a)
//改变employee中地址变量
{
strcpy(address,a);
}
void Employee:: ChangeCity(char *c)
//改变employee中市变量
{
strcpy(city,c);
}
void Employee:: ChangeProvince(char *p)
{//改变employee中省份变量
strcpy(province,p);
}
void Employee:: ChangeZipcode(char *z)
{//改变employee中编码变量
strcpy(post,z);
}
void Employee::Display()
{//将完整的对象数据打印出来
cout<<"姓名:"<<name<<endl;
cout<<"地址:"<<address<<endl;
cout<<"市:"<<city<<endl;
cout<<"省:"<<province<<endl;
cout<<"邮政编码:"<<post<<endl;
}
void main()
{
Employee em("ningehe","NCU.","南昌","江西","330000");
em.Display();
cout<<" "<<endl;
cout<<"更改后的信息为:"<<endl;
em.ChangeName("宁禾");
em.ChangeAddress("南昌大学");
em.Display();
}