C++第五章 习题

本篇讲述了如何使用C++设计一个`person`基类,包含编号和姓名,并分别派生出`student`和`teacher`类,用于处理学生和教师的数据,包括编号、姓名、班级/职称等信息。此外,还涉及了多继承的概念,通过虚基类`base`派生出`leader`和`engineer`,再进一步派生出`chairman`类,用于模拟组织结构并进行相关数据测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

P162    5.18:编辑一个学生和教师数据输入和显示程序,学生数据要编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类。

#include<iostream>
#include<string>
using namespace std;
class person{
public:
	person(string na,int num)
	{ name=na;
	number=num;}
protected:
	string name;
	int number;};
	class student:virtual public person{
	public:
		student(string na,int num,int cn,int sc):person(na,num)
		{ clanum=cn;
		score=sc;}
	void sshow()
	{ cout<<"姓名:"<<name<<endl;
	  cout<<"编号:"<<number<<endl;
	  cout<<"班号:"<<clanum<<endl; 
	  cout<<"成绩:"<<score<<endl;}
	protected:
		int clanum;
		int score;}
	;
		class teacher:virtual public person{
		public:
			teacher(string na,int num,string pos,string dep):person(na,num)
			{ 	position=pos;
			dept=dep;
		}
		void tshow()
		{  cout<<"姓名:"<<name<<endl;
		   cout<<"编号:"<<nu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值