C++之对象数组以及使用指针来传递地址

题目描述

声明一个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;
}

在这里插入图片描述


学习链接
视频地址

发布了261 篇原创文章 · 获赞 28 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43283397/article/details/104448489