C++实验题---填空(求对象的全部数据)

C++实验题---填空(求对象的全部数据)

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:152            测试通过:77

描述

仔细阅读以下程序,理解程序的主要功能,正确补充空白处的语句,空白处可能是一条语句或多条语句,也可能是一个表达式,严禁改动给出程序代码的段落、修改、移动、注释掉给出的程序代码,若有改动、修改或注释掉给出程序的任何一处该题记0分。并编译运行测试通过后进行提交,否则提交错一次扣1分,扣完为止。


#include <iostream>
#include <string>
using namespace std;
class Student
{
 public:
  Student(int,string,float);
  ___________________
 protected:
  int num;
  string name;
  float score;
};
Student::Student(int n,string nam,float s)
{
 num=n;name=nam;score=s;
}
void Student::display()
{
 cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\n\n";
}
___________________
{
 public:
  Graduate(int,string,float,float);
  void display();
 private:
  float pay;
};
___________________
{
 cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\npay="<<pay<<endl;
}
Graduate::Graduate(int n,string nam,float s,float p):Student(n,nam,s),pay(p){}
int main()
{
 int no;string name;float score,pay;
 while(cin>>no>>name>>score>>pay)
 {
  Student stud1(no,name,score);
  Graduate grad1(no,name,score,pay);
  Student *pt=&stud1;
  pt->display();
  pt=&grad1;
  pt->display();
 }
 return 0;
}



输入

输入有多组测试数据,每行为一组测试数据,用空格隔开。

输出

根据程序代码输出相应的信息。

样例输入

1001 Li 87.5 1200
2001 Wang 98.5 2450

样例输出

num:1001
name:Li
score:87.5

num:1001
name:Li
score:87.5
pay=1200
num:2001
name:Wang
score:98.5

num:2001
name:Wang
score:98.5

pay=2450

代码如下:

#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
    Student(int,string,float);
    virtual void display();
protected:
    int num;
    string name;
    float score;
};
Student::Student(int n,string nam,float s)
{
    num=n;
    name=nam;
    score=s;
}
void Student::display()
{
    cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\n\n";
}
class Graduate:public Student
{
public:
    Graduate(int,string,float,float);
    virtual void display();
private:
    float pay;
};
void Graduate::display()
{
    cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\npay="<<pay<<endl;
}
Graduate::Graduate(int n,string nam,float s,float p):Student(n,nam,s),pay(p) {}
int main()
{
    int no;
    string name;
    float score,pay;
    while(cin>>no>>name>>score>>pay)
    {
        Student stud1(no,name,score);
        Graduate grad1(no,name,score,pay);
        Student *pt=&stud1;
        pt->display();
        pt=&grad1;
        pt->display();
    }
    return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值