動態(tài)多態(tài)-實現(xiàn)基類和派生類同名函數(shù)問題

//動態(tài)多態(tài)-實現(xiàn)基類和派生類同名函數(shù)問題
#include <iostream>
#include <string>
using namespace std;

class Student{
    public:
        Student(int,string,float);
        virtual void display();
    protected:
        int num;
        string name;
        float score;
};
Student::Student(int n,string nam,float s){
    num = n;name = nam;score = s;
}
void Student::display(){
    cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\n\n";
}
class Graduate:public Student{
    public:
        Graduate(int,string,float,float);
        void display();
    private:
        float wage;
};
Graduate::Graduate(int n,string nam,float s,float w):Student(n,nam,s),wage(w){
}
void Graduate::display(){
    cout<<"num:"<<num<<"\nname:"<<name<<"\nscore"<<score<<"\nwage="<<wage<<endl;
}

int main(){
    Student stu1(1000,"rice",87.9);
    Graduate grad1(2001,"Rice",90.0,1200);
    Student *pt = &stu1;
    pt->display();
    pt = &grad1;
    pt->display();    //同一個pt指針,實現(xiàn)對象的多態(tài)性,當然,你也可以用兩個不同得指針實現(xiàn),但這就不是多態(tài)性了(記住多態(tài)的定義) 
    return 0;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容