請問 A virtual function print() 的一些細節

img


student.h檔我增加了 virtual void print() const;

img


然後我在Student.cpp 增加的函式內容是對的嗎
還有因為老師的的要求是要用virtual void print() const;和virtual void print() const override ; 分別印出不同內容
所以我在CEStudent.h,和CEStudent.cpp 增加了函式,我想請問我該怎麼寫才是對的

img


CPP檔

img


H檔
另外我想請問我該怎麼分別印出這兩個函式的內容,在都是用print()的前提

img


TEST檔

謝謝各位

可以参考下我写的这个示例:

#include <iostream>

using namespace std;
class Student
{
public:
    Student()
    {

    }
   virtual void myPrint() const
    {
        cout << "Student" << endl;
    }

    int b;
};

class CEStudent : public Student
{
public:
    CEStudent()
    {

    }
    virtual void myPrint() const override
    {
        cout << "CEStudent" << endl;
    }
};

int main()
{
    Student * s;
    CEStudent ces;
    //存储CEStudent的地址
    s = &ces;
    //此时调用的是CEStudent的打印
    s->myPrint();


    return 0;
}