提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
题目:
设计一个Student类和它的一个派生类Undergraduate,要求如下:
Student类有schoolname(学校)、name(姓名)和age(属性),一个具有3个参数的构造方法,用于给schoolname、name、age属性赋值,一个方法打印student的属性信息。
本科生类Undergraduate增加了一个degree(学位)、一个major(专业)属性,新增一个包含5个参数的构造方法前3个参数用于给继承的schoolname、name、age赋值,后2个参数给degree、major赋值,一个方法用来修改major属性,一个方法用于打印Undergraduate的5个属性信息。
在测试类中分别创建Student对象和Undergraduate对象,初始化,并输出对象信息。某位本科生转了专业,完成操作并输出对象信息。
代码:
#include<iostream>
#include<string.h>
using namespace std;
class student{
private:
string schoolname;
string name;
float age;
public:
student(string school,string na,float a)
{
schoolname=school;
name=na;
age=a;
}
void show()
{
cout<<schoolname<<" "<<name<<" "<<age<<" ";
}
};
class undergraduate:public student{
private: string degree,major;
public:
undergraduate(string school,string na,float a,string de,string ma):student(school,na,a)
{
degree=de;major=ma;
}
void modify(string major1)
{
major=major1;
}
void print()
{
cout<<degree<<" "<<major<<endl;
}
};
int main()
{
cout<<"转专业前学生信息:"<<endl;
undergraduate u1("信息学院","夏天",20,"本科学位","计算机类");
u1.student::show() ;
u1.print() ;
cout<<"转专业后的学生信息:"<<endl;
u1.show() ;
u1.modify("英语专业");
u1.print() ;
return 0;
}
结果:
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了创建Student对象和Undergraduate对象,初始化,并输出对象信息。