派生类的共用继承:希望有人可以看看这个代码报的错,帮我改改,我不太懂

#include<iostream>
using namespace std;
class Person
{
private:
    string name;
    int age;
    char sex;
public:
    Person(string name,int age,char sex)
    {
        this->name=name;
        this->age=age;
        this->sex=sex;
    }
    ~Person(){}
    void showPerson()
    {
        cout<<"name:"<<name<<endl;
        cout<<"age:"<<age<<endl;
        cout<<"sex:"<<sex<<endl;
    }    
};
class Student:public Person
{
private:
    int num;
    int eng;
public:
    Student(string name,int age,char sex,int num,int eng):Person(name,age,sex)
    {
        this->num=num;
        this->eng=eng;
    }
    ~Student(){}
    void showStudent()
    {
        //cout<<"name:"<<name<<endl;
        //cout<<"age:"<<age<<endl;
        //cout<<"sex:"<<sex<<endl;
        cout<<"num:"<<num<<endl;
        cout<<"eng:"<<eng<<endl;
    }
};

int main()
{
    Student s("Li",21,'F',1001,89);
    s.showPerson();
    s.showStudent();    
    return 0;
}


运行结果及报错内容:

img