学生类

#include<iostream>

using namespace std;

class student

{

protected:

string name;

int id;

public:

student(){}

student(string n,int i):name(n),id(i){}

void setnameid()

{

cin >> name >> id;

}

void displaynameid()

{

cout << "姓名:" << name << " " << "学号:" <<id<< endl;

}

virtual void setmajor() = 0;

virtual string getmajor() = 0;

virtual void setadvisor() = 0;

virtual string getadvisor() = 0;

};

class understud:public student

{

protected:

string subject;

public:

understud(){}

understud(string n,int i,string s):student(n,i),subject(s){}

void setmajor()

{

cin >> subject;

}

string getmajor()

{

return subject;

}

};

class poststu :public understud

{

private:

string advitor;

public:

poststu(string n="***",int i=-1,string s="###",string a="&&&"):understud(n,i,s),advitor(a){}

void setadvisor()

{

cin >> advitor;

}

string getadvisor()

{

return advitor;

}

};

int main()

{

int n;

cin >> n;

if (n == 0)

{

poststu p;

student* s1 = &p;

s1->displaynameid();

cout << s1->getmajor() << endl;

cout << s1->getadvisor() << endl;

}

else

{

poststu p;

student* s1 = &p;

s1->setnameid();

s1->setmajor();

s1->setadvisor();

s1->displaynameid();

cout << s1->getmajor() << endl;

cout<<s1->getadvisor()<<endl;

}

}

posted @ 2023-05-09 22:21  平安喜乐×  阅读(18)  评论(0)    收藏  举报