c++一个初级的题目

来源:百度知道 编辑:UC知道 时间:2024/06/24 21:59:06
5. 创建一个Employee类,要求如下:
1). 该类中有字符数组,表示姓名、街道地址、市、省、邮政编码、和记录序号。
2). 把表示构造函数、改名changeName、display()的函数原型(函数声明)放在类声明中,函数实现放在类实现文件中。其中构造函数初始化每个成员,display函数把完整的对象数据打印出来。
3). 其中的数据成员是私有的,函数是公有的。
#include <iostream.h>

class employee
{
public:
employee(char a[],char b[],char c[], char d[],char f[], int e);
void changeName(char a[]);
void display ();
private:
char name[30];
char adress[30];
char shi[30];
char sheng[30];
int youbian[30];
int bh;
};
employee::employee(char a[],char b[],char c[], char d[],char f[], int e)
{
*name=*a;
*adress=*b;
*shi=*c;
*sheng=*d;
*youbian=*f;
bh=e;
}
void employee::changeName(char a[])
{
*name=*a;
}
void employee::display()
{
cout <<"姓名:"<<name<<endl;
cou

你的代码可能就是字符数组中赋值时出现指针垃圾问题。即是构造函数部分。

呵呵,很久没理过C++了。看了你的题目,我重新编了一次。

#include <iostream>
#include <string>
using namespace std;

class Employee
{
public:
Employee(string n, string a, string c, string p, string po, string o);
void ChangeName(string new_name);
void display(void);
private:
string name;
string address;
string city;
string province;
string post;
string order;
};

Employee::Employee(string n, string a, string c, string p, string po, string o)
{
name = n;
address = a;
city = c;
province = p;
post = po;
order = o;
}

void Employee::ChangeName(string new_name)
{
name = new_name;
}

void Employee::display(void)
{
cout<<"姓名:"<<name<<endl;
cout<<"地址:"<<address<<endl;
cout<<"城市:&