美文网首页
动态多态-实现基类和派生类同名函数问题

动态多态-实现基类和派生类同名函数问题

作者: 始于尘埃 | 来源:发表于2019-07-28 20:05 被阅读0次
//动态多态-实现基类和派生类同名函数问题
#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指针,实现对象的多态性,当然,你也可以用两个不同得指针实现,但这就不是多态性了(记住多态的定义) 
    return 0;
}

相关文章

  • 动态多态-实现基类和派生类同名函数问题

  • c++多态实现的机制

    什么是c++的多态? 多态的意思是,当有基类和派生类的时候,在基类的函数前加上virtual关键字,在派生类中重写...

  • C++重新理解虚函数

    1. 虚函数的定义 允许派生类重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类或派生类的同名函数 1...

  • C++总结

    函数 为什么基类的析构函数用虚函数 在实现多态时,当用基类操作派用类,在析构时防止只析构基类而不析构派生类的状况发...

  • C++ - 基类,派生类同名成员与访问范围

    基类和派生类有同名成员的情况 访问范围说明符 基类的 private 成员:基类的成员函数基类的友员函数 基类的 ...

  • 虚函数

    简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类的函数。例如下...

  • Chapter 15 OOP 面向对象程序设计

    这一节主要讲基类和派生类之间的关系和注意细节. 派生类对于和基类的同名函数, 采取覆盖的方式静态绑定. 对于vir...

  • C++多态

    c++的多态总结是:当派生类被强制类型转换为基类时,派生类的虚函数表地址是不会被替换为基类的虚函数表地址的。 运行...

  • 隐藏和覆盖、多态、虚函数【C++】

    【C++】隐藏和覆盖 隐藏: overhide 派生类中隐藏了基类中所有的同名函数 ①同名、不同参 ②继承关系下的...

  • C++的虚基类与虚函数

    虚函数加vritual关键字,目的是为了实现多态性,可以通过基类的指针和引用调用派生类的对象,从而产生不同的效果。...

网友评论

      本文标题:动态多态-实现基类和派生类同名函数问题

      本文链接:https://www.haomeiwen.com/subject/nbnprctx.html