f1002.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:2k
源码类别:
C#编程
开发平台:
Visual C++
- //=====================================
- // f1002.cpp
- // constructing derived class
- //=====================================
- #include<iostream>
- using namespace std;
- //-------------------------------------
- class Advisor{
- int noOfMeeting;
- public:
- Advisor(){ cout<<"Adviosrn"; }
- Advisor(const Advisor& ){ cout<<"copy Advisorn"; }
- ~Advisor(){ cout<<"~Advisorn"; }
- };//-----------------------------------
- class Student{
- string name;
- int semesterHours;
- double average;
- public:
- Student(string pName="noName"):name(pName),average(0),semesterHours(0){}
- void addCourse(int hours, double grade){
- double totalGrade = (semesterHours * average + grade); //总分
- semesterHours += hours; //总修学时
- average = semesterHours ? totalGrade/semesterHours : 0; //平均分
- }
- void display(){
- cout<<"name=""<<name<<"""<<", hours="<<semesterHours
- <<", average="<<average<<"n";
- }
- int getHours(){ return semesterHours; }
- double getAverage(){ return average; }
- ~Student(){ cout<<"~Studentn"; }
- };//-----------------------------------
- class GraduateStudent : public Student{
- Advisor advisor;
- int qualifierGrade;
- public:
- GraduateStudent(const string& pN, Advisor& adv)
- :Student(pN), advisor(adv), qualifierGrade(0){}
- void display(){
- Student::display();
- cout<<"GraduateStudentn";
- }
- getQualifier(){ return qualifierGrade; }
- };//-----------------------------------
- void fn(Advisor& advisor){
- GraduateStudent gs("Yen Kay Doodle", advisor);
- gs.display();
- }//------------------------------------
- int main(){
- Advisor da;
- fn(da);
- }//====================================