C++:类的继承示例

#pragma once
class Employee
{
public:
	Employee();
	Employee(char *pcName, char *pcNo, int nDept);//构造函数
	~Employee();
public:

	void SetName(char *pcName);	//设置姓名
	void SetNo(char *pcNo);		//设置编号
	void SetDept(int nDept);		//设置部门号
	void Display();		//输出雇员信息
protected:
	char m_cName[20];	//姓名
	char m_cNo[20];	//编号
	int m_nDepartment;	//部门号
};

#include "stdafx.h"
#include "Employee.h"

#include <iostream>
using namespace std;
Employee::Employee()
{
}
Employee::Employee(char *pcName, char *pcNo, int nDept)//构造函数
{
	SetName(pcName);
	SetNo(pcNo);
	SetDept(nDept);
}

Employee::~Employee()
{
}
void Employee::SetName(char *pcName)	//设置姓名
{
	strcpy_s(m_cName, pcName);
}
void Employee::SetNo(char *pcNo)		//设置编号
{
	strcpy_s(m_cNo, pcNo);
}
void Employee::SetDept(int nDept)		//设置部门号
{
	m_nDepartment = nDept;
}
void Employee::Display()		//输出雇员信息
{
	cout << "姓名:" << m_cName << endl
		<< "编号:" << m_cNo << endl
		<< "部门号:" << m_nDepartment << endl;
}
#pragma once
#include "Employee.h"
class Manager :	public Employee		//继承于Employee类
{
public:
	Manager();
	Manager(char *pcName, char *pcNo, int nDept, int nLvl);//构造函数
	~Manager();
public:
	void Setlvl(int nLvl);	//设置级别
	void Display();	//重定义,输出经理的信息
private:
	int m_nLevel;	//级别
};

#include "stdafx.h"
#include "Manager.h"

#include <iostream>
using namespace std;
Manager::Manager()
{
}


Manager::~Manager()
{
}
Manager::Manager(char *pcName, char *pcNo, int nDept, int nLvl)
	:Employee(pcName, pcNo, nDept)			//构造函数,调用基类的构造函数
{
	Setlvl(nLvl);
}

void Manager::Setlvl(int nLvl)	//设置级别
{
	m_nLevel = nLvl;
}
void Manager::Display()	//重定义,输出经理的信息
{
	cout << "姓名:" << m_cName << endl
		<< "编号:" << m_cNo << endl
		<< "部门号:" << m_nDepartment << endl
		<< "级别:" << m_nLevel << endl;
}
// ClassExample20220505.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include"Manager.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
	Employee e("孙悟空", "500001", 12);
	e.Display();
	Manager m("唐僧", "9800152", 12, 8);
	m.Display();
	m.SetName("菩提老祖");
	m.SetNo("9800151");
	m.SetDept(3);
	m.Setlvl(10);
	m.Display();
	
	getchar();
	return 0;
}

运行结果:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值