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;
}

在这里插入图片描述


学习链接
视频地址

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值