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

📄 ex8_7_1.cpp

📁 c++程序设计教材第二版书上即课后习题源代码
💻 CPP
字号:
//【例8.7】计算学分。采用保护成员。
#include<iostream>
#include<string>
using namespace std;

class Student{
protected:
	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;
	}
	void Print(){cout<<coursename<<'\t'<<classhour<<"学时"<<'\t'<<credit<<"学分"<<endl;}
};
class GradeStudent:public Student{
public:
	GradeStudent(){};
	void Calculate(){credit=classhour/20;}
};

void Calfun(Student &ps,string str,int hour){
	ps.SetCourse(str,hour);
	ps.Calculate();
	ps.Print();
}
int main(){
	Student s;
	GradeStudent g;
	cout<<"本科生:";
	Calfun(s,"物理",80);
	cout<<"研究生:";
	Calfun(g,"物理",80);//派生类对象作为基类引用的实参,只有calculate()为虚函数才能实现动态的多态性
	return 0;
}

⌨️ 快捷键说明

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