⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mulvinhr.cpp

📁 高永强 全C编程源码 清华大学出版社 2002年六月第一版
💻 CPP
字号:
//这个程序在本书所带软盘中。文件名为MULVINHR.CPP
//这个程序利用多级继承导出两级导出类并显示它们各自的信息。

#include <iostream.h>
#include <string.h>

class worker {							//定义基类worker
	public:
		worker(char *name, int age, float wage);
		void show_worker(void);
	private:
		char name[64];
		int age;
		float wage;
};

worker::worker(char *name, int age, float wage)
{
	strcpy(worker::name, name);
	worker::age = age;
	worker::wage = wage;
}

void worker::show_worker(void)
{
	cout << endl << "姓名: " << name << endl;
	cout << "年龄: " << age << endl;
	cout << "工资: " << wage << endl;
}

class supervisor : public worker {		//定义导出类supervisor
	public:
		supervisor(char *name, int age, char *phone, float wage);
		void show_supervisor(void);
	private:
		char phone[64];
};	

//导出类supervisor继承了基类worker的构造函数
supervisor::supervisor(char *name, int age, char *phone, float wage) :
	worker(name, age, wage)
{
	strcpy(supervisor::phone, phone);	//新增添的信息
}

void supervisor::show_supervisor(void)
{
	show_worker();						//调用基类成员子程序
	cout << "电话: " << phone << endl;	//并显示新信息
}

class manager : public supervisor {		//从基类supervisor导出manager
	public:
		manager(char *name, int age, char *phone, float wage, 
			    char *office, char *securetary);
		void show_manager(void);
	private:
		char office[64];
		char securetary[40];
};

//导出类manager继承了基类supervisor的构造函数
manager::manager(char *name, int age, char *phone, float wage, 
	char *office, char *securetary)	: supervisor(name, age, phone, wage)
{
	strcpy(manager::office, office);    //新增添的信息
	strcpy(manager::securetary, securetary);
}

void manager::show_manager(void)
{
	show_worker();							//调用基类成员子程序
	cout << "办公室: " << office << endl;   //并显示新信息
	cout << "秘书: " << securetary << endl;
}

void main(void)
{
	worker janitor("Ken Smith", 43, 650.89);
	supervisor team_lead("Jon Wong", 36, "788-1616", 989.34);
	manager boss("Betty Louis", 30, "555-2121", 2389.68, "Room 3B", "Betty King");

	janitor.show_worker();
	team_lead.show_supervisor();
	boss.show_manager();
}

/* 这个程序运行后将显示如下输出结果:
姓名: Ken Smith
年龄: 43
工资: 650.89

姓名: Jon Wong
年龄: 36
工资: 989.34
电话: 788-1616

姓名: Betty Louis
年龄: 30
工资: 2389.68
办公室: Room 3B
秘书: Betty King
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -