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

📄 ex8_6.cpp

📁 c++程序设计教材第二版书上即课后习题源代码
💻 CPP
字号:
//【例8.6】计算学分。可由本科生类派生出研究生类,但它们各自的从课程学时数折算为学分数的
//算法是不同的,本科生是16个学时一学分,而研究生是20个学时一学分。
#include<iostream>
#include<string>
using namespace std;
class Student{
	string coursename;			//课程名
	int classhour;					//学时
	int credit;						//学分,未考虑0.5学分
public:
	Student(){coursename="#";classhour=0;credit=0;}
	virtual void Calculate(){credit=classhour/16;}
	void SetCourse(string str,int hour){
		coursename=str;
		classhour=hour;
	}
	int GetHour(){return classhour;}
	void SetCredit(int cred){credit=cred;} 
	void Print(){cout<<coursename<<'\t'<<classhour<<"学时"<<'\t'<<credit<<"学分"<<endl;}
};
class GradeStudent:public Student{
public:
	GradeStudent(){};
	void Calculate(){SetCredit(GetHour()/20);}
};
int main(){
	Student s,*ps;
	GradeStudent g;
	s.SetCourse("物理",80);
	s.Calculate();
	g.SetCourse("物理",80);
	g.Calculate();
	cout<<"本科生:"<<'\t';
	s.Print();
	cout<<"研究生:"<<'\t';
	g.Print();
	s.SetCourse("数学",160);
	g.SetCourse("数学",160);
	ps=&s;
	ps->Calculate();
	cout<<"本科生:"<<'\t';
	ps->Print();
	ps=&g;
	ps->Calculate();
	cout<<"研究生:"<<'\t';
	ps->Print();
	return 0;
}

⌨️ 快捷键说明

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