单继承的方式

当前编程题:实验3-继承与派生---单继承的方式

1.

【问题描述】人员类是抽象程度更高的类,它是所有人的共性的抽象。现声明一个人员类(Person ),包括3个数据成员:name(姓名)、age(年龄)、sex(性别);2个成员函数:构造函数和输出相关信息的函数display()。利用单继承的方式声明一个学生(Student)派生类,其中增加2个数据成员:grade(年级)、score(总学分);3个成员函数:构造函数、输出函数show()和增加学分的函数add()。add()原型为:float add(float s),其中,s表示某门课的学分,将s加入到总学分score中。要求:在main()中定义派生类对象,初始化的数据为:姓名"Xu Li",年龄20,性别'f',年级2,总学分25.4,某门课的学分为2.6,按照要求测试show()、add()函数。

【输入形式】无
【输出形式】派生类对象的各个数据成员的值,彼此以空格间隔。

【样例输入】无
【样例输出】Xu Li 20 f 2 28

【样例说明】以给定的值初始化派生类对象,调用add()和show(),调整学分并输出姓名、年龄、性别、年级、总学分。
【评分标准】本题50分,1个测试点。




#include<iostream>
#include<string>
using namespace std;


class Student
{
public:
Student(string nam,int a,char s)
{
age=a;
name=nam;
sex=s;
}
void display()
{
cout<<name<<" "<<age<<" "<<sex; 
}
~Student(){}
protected:
int age;
string name;
char sex;
};


class Student1:public Student
{
public:
Student1(string nam,int a,char s,int g,float t,float sc):Student(nam,a,s)
{
grade=g;
total=t;
score=sc;
}
float add()
{
total+=score;
return total;
}
void show()
{
cout<<name<<" "<<age<<" "<<sex<<" "<<grade<<" "<<add()<<endl;
}
~Student1(){}
private:
int grade;
float total,score;
};


int main()
{
Student1 stud1("Xu Li",20,'f',2,25.4,2.6);
stud1.show();
return 0;
}
 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值