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

📄 c_7_1.cpp

📁 C++应用教程原码,里面包含该书中有十三章内容的代码,详细具体
💻 CPP
字号:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class Person
{
public:
	Person(const string n,const string t,const string a)
		:name(n), telephone(t), address(a)
	{ }
	void Print() const
	{ 
		cout<<name<<endl;
		cout<<" 电话:"<<telephone;
		cout<<" 地址:"<<address;
	}
protected:
	string name;
	string telephone;
	string address;
};
class Student:virtual public Person
{
public:
	Student(const string n,const string t,const string a,const string m)
		:Person(n,t,a), major(m)
	{ }
	void Print() const
	{	
		Person::Print();
		cout<<" 课程:"<<major<<endl;
	}
protected:
	string major;
};
class Staff:virtual public Person
{
public:
	Staff(const string n,const string t,const string a,const string d,int sal)
		:Person(n,t,a), dept(d), salary(sal)
	{ }
	void Print() const
	{
		Person::Print();
		cout<<" 系:"<<dept;
		cout<<" 薪水:"<<salary<<endl;
	}
protected:
	string dept;
	int salary;
};
class Teacher: public Staff
{
public:
	Teacher(const string n,const string d,const string t,const string a,const string l,int sal)
		:Person(n,t,a),Staff(n,t,a,d,sal), lesson(l)
	{ }
	void Print() const
	{
		Staff::Print();
		cout<<" 课程: "<<lesson<<endl;
	}
protected:
	string lesson;
};
class StudentTeacher:public Student,public Teacher
{
public:
	StudentTeacher(const string n,const char *m,const string d,const string t,
		const string a,const string l,int sal)
		:Person(n,t,a),Student(n,t,a,m),Teacher(n,d,t,a,l,sal)
	{}
	void Print() const
	{
		Student::Print();
		cout<<" 系: "<<dept;
		cout<<" 课程: "<<lesson;
		cout<<" 薪水: "<<salary;
	}
};
void main()
{
	Student stu("王敏","020-34987267","天河北","Software Engineering");
	Staff sta("李丹","020-34544579","白云山","Management",2000);
	Teacher te("郑月湘","Computer","02013045677","黄浦大道","C++",2500);
	StudentTeacher st("唐子龙","Computer Application","Computer","13312345676",\
		"东莞庄","C++",2200);
  cout<<"学生:";
	stu.Print();
	cout<<endl;
	cout<<"员工:";
	sta.Print();
	cout<<endl;
	cout<<"教师:";
	te.Print();
	cout<<endl;
	cout<<"在职进修教师:";
	st.Print();
	cout<<endl;
	cin.get(); //等待结束,以便调测程序,可以删除
}

⌨️ 快捷键说明

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