C++实验题---填空(类与继承B)
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:203 测试通过:154
总提交:203 测试通过:154
描述
仔细阅读以下程序,理解程序的主要功能,正确补充空白处的语句,空白处可能是一条语句或多条语句,也可能是一个表达式,严禁改动给出程序代码的段落、修改、移动、注释掉给出的程序代码,若有改动、修改或注释掉给出程序的任何一处该题记0分。并编译运行测试通过后进行提交,否则提交错一次扣1分,扣完为止。
#include <iostream>
#include<string>
using namespace std;
class Student
{
public:
Student(int n, string nam )
{num=n;name=nam;}
void display()
{cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
}
_____________
int num;
string name;
};
_____________
{
public:
Student1(int n,char nam[10],int a):Student(n,nam)
{age=a; }
void show( )
{display();
cout<<"age: "<<age<<endl;
}
private:
int age;
};
class Student2:public Student1
{
public:
Student2(int n, char nam[10],int a,int s):Student1(n,nam,a){score=s;}
void show_all()
{
show();
cout<<"score:"<<score<<endl;
}
private:
_____________
};
int main( )
{
int no,age,score;char name[10];
while(cin>>no>>name>>age>>score)
{
Student2 stud(no,name,age,score);
stud.show_all( );
}
return 0;
}
输入
输入有多组测试数据,每行为一组测试数据,且用空格隔开个数据。
输出
根据程序代码输出相应的信息。
样例输入
10010 Li 17 89
样例输出
num:10010
name:Li
age: 17
score:89
name:Li
age: 17
score:89
代码如下:
#include <iostream>
#include<string>
using namespace std;
class Student
{
public:
Student(int n, string nam )
{
num=n;
name=nam;
} void display()
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
}
protected:
int num;
string name;
};
class Student1:public Student
{
public:
Student1(int n,char nam[10],int a):Student(n,nam)
{
age=a;
}
void show( )
{
display();
cout<<"age: "<<age<<endl;
}
private:
int age;
};
class Student2:public Student1
{
public:
Student2(int n, char nam[10],int a,int s):Student1(n,nam,a)
{
score=s;
} void show_all()
{
show();
cout<<"score:"<<score<<endl;
}
private:
int score;
};
int main( )
{
int no,age,score;
char name[10];
while(cin>>no>>name>>age>>score)
{
Student2 stud(no,name,age,score);
stud.show_all( );
}
return 0;
}