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

📄 ex8_8.cpp

📁 C++程序设计课本源码,供学习计算机的大学生们参考
💻 CPP
字号:
#include<iostream.h>
#include<string.h>

class Person{
	int MarkAchieve;
	char Name[20];
public:
	Person(char *name){
		strcpy(Name,name);
		MarkAchieve=0;}
	void SetMark(int mark){MarkAchieve=mark;};
	virtual void CalMark()=0;//CalMark()为虚函数,Person为抽象类
	void Print(){cout<<Name<<"的业绩分为:"<<MarkAchieve<<endl;}	
};
class Student:public Person{
	int credit,grade;//学历和成绩
public:
	Student(char *name,int cred,int grad):Person(name){
		credit=cred;
		grade=grad;
	}
	void CalMark(){SetMark(credit*grade);}
};
class Teacher:public Person{
	int classhour,studnum;//授课学时和学生人数
public:
	Teacher(char *name,int ch,int sn):Person(name){
		classhour=ch;
		studnum=sn;
	}
	void CalMark(){
		int K=(studnum+15)/30;//工作量系数,30人为一班,15人以下不开课
		switch(K){
		case 1: SetMark(classhour*studnum);break;
		case 2: SetMark(classhour*(30+(studnum-30)*8/10));break;
		case 3: SetMark(classhour*(30+24+(studnum-60)*6/10));break;
		case 4: SetMark(classhour*(30+24+18+(studnum-90)*4/10));break;
		case 5: SetMark(classhour*(30+24+12+(studnum-120)*2/10));break;
		default:SetMark(classhour*(30+24+12+6+(studnum-150)*1/10));break;
		}
	}
};
void main(){
	Person *pp;
	Student s1("张成",20,80);
	Teacher t1("范英明",64,125),t2("李凯",80,85);
	pp=&s1;
	pp->CalMark();
	pp->Print();
	pp=&t1;
	pp->CalMark();
	pp->Print();
	pp=&t2;
	pp->CalMark();
	pp->Print();
}

⌨️ 快捷键说明

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