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

📄 univ.cpp

📁 一个大学生管理系统
💻 CPP
字号:
//the classes and subclass of a university
//file univ.h

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

const char null='\0';

static char*strsave(char*s)
{
	char*p;
	p= new char[strlen(s)+1];
	strcpy(p,s);
	return p;
}

class data__rec
{
private:
	char*last__name;
	char*first__name;
	char*street__address;
	char*city;
	char*state;
	char*zip;
public:
	data__rec()
	{
		last__name=null;
		first__name=null;
		street__address=null;
		city=null;
		state=null;
		zip=null;
	}
	data__rec(char*ln,char*fn,char*st,char*cty,char*sta,char*zp)
	{
		last__name=strsave(ln);
		first__name=strsave(fn);
		street__address=strsave(st);
		city=strsave(cty);
		state=strsave(sta);
		zip=strsave(zp);
	}
	~data__rec()
	{
		delete last__name;
		delete first__name;
		delete city;
		delete state;
		delete zip;
	}
	void print()
	{
		cout<<"\n"<<last__name<<" "<<first__name<<"\n"<<street__address<<"\n"
			<<city<<" "<<","<<state<<" "<<zip;
	}
};


class student:virtual public data__rec
  //this class is derived from data__rec and inherity all the public
  //members of the parent class
{
private:
	char*major;
	int id__number;
	int level;
public:
	student(char*ln,char*fn,char*st,char*cty,char*sta,char*zp,char*m,int id,int lv)
		:data__rev(ln,fn,st,cty,sta,zp),major(strsave(m)),id__number(id)
		level(lv);
	
	student(char*m,int id,int lv):major (strsave(m)),id__number(id),level(lv)
	{}
	~student()
	{delete major}
    void print();
};
void student::print()
{
	data__rec::print();
	cout<<"\n ld number-->"<<id__number<<"\n level-->$"<<level;
}


class staff:virtual public data__rec
//this class id derived from data__rec
{
	//private data
private:
	char*dept;
	float hourly__wage;
public:
	staff(char*ln,char*fn,char*st,char*cty,char*sta,cha*zp,char*dp,float hrwg)
		:data__rec(ln,fn,st,cty,sta,zp),dept(strsave(dp),hourly__wage(hrwg))
	{}
	staff(char*dp,float hrwg):dept(strsave(dp),hourly__wage(hrwg)
	{}
	~staff()
	{delete dept;}
	void print();
};

void staff::print()
{
	data__rec::print();
	cout<<"\ndepartment-->"<<dept<<"\nhourly wage-->$"<<hourly__wage;
}

class professor:public staff
//this class is derived from derived class staff and inherits all
//the public members of the parent class
{
private:
	float salary;
public:
	professor(char*ln,char*fa,char*st,char*cty,char*sta,char*zp,char*dp,float sal)
		:data__rec(ln,st,cty,sta,zp)
	{}
	void print();
};
void professor::print()
{
	staff::print();
	cout<<"\nsalary-->$"<<salary;
}

class student__staff:public student,public staff
{
public:
	studenf__staff(char*ln,char*fn,char*st,char*cty,char*sta,char*zp,char*m,int id,int lv,
		char*dp,float hrwg):data__rec(ln,fn,st,sty,sta,zp),student(m,id,lv),staff(dp,hrwg)
	{}
	void print();
};
void student__staff::print()
{
	student::print();
	staff::print();
}


⌨️ 快捷键说明

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