C++习题 输入输出--保护继承
时间: 1ms 内存:128M
描述:
Student类含有私有数据成员:num,name,sex,公有成员函数: 输入函数get_value()和输出函数display()。采用私有保护方式实现类Student1,增加数据成员:age,addr,成员函数:get_value_1()和display_1()。在程序运行时输入num,name,sex,age,addr的值,调用输出函数输出以上5个数据的值。
输入:
输入num,name,sex,age,addr的值
输出:
输出num,name,sex,age,addr的值
示例输入:
1001 zhang m 21 shanghai
示例输出:
num: 1001
name: zhang
sex: m
age: 21
address: shanghai
提示:
参考答案(内存最优[1092]):
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c[99],a,b[99];
int d,e;
scanf("%d %s %c %d %s",&d,c,&a,&e,b);
printf("num: %d\nname: %s\nsex: %c\nage: %d\naddress: %s\n",d,c,a,e,b);
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
class Student
{
public:
void get_value()
{
cin>>num>>name>>sex;
}
void display( )
{
cout<<"num: "<<num<<endl;
cout<<"name: "<<name<<endl;
cout<<"sex: "<<sex<<endl;
}
private :
int num;
string name;
char sex;
};
class Student1:protected Student
{
public:
void get_value1();
void display1();
private :
int age;
char addr[20];
};
void Student1::get_value1()
{
get_value();
cin>>age>>addr;
}
void Student1::display1( )
{
display();
cout<<"age: "<<age<<endl;
cout<<"address: "<<addr<<endl;
}
int main()
{
Student1 stud1;
stud1.get_value1();
stud1.display1();
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。