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>
int main()
{
int a,b;
char c[99],d,e[99];
scanf("%d %s %c%d %s",&a,c,&d,&b,e);
printf("num: %d\nname: %s\nsex: %c\nage: %d\naddress: %s\n",a,c,d,b,e);
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;
char name[10];
char sex;
};
class Student1: public Student
{
public:
void get_value_1()
{
get_value();
cin>>age>>addr;
}
void display_1()
{
cout<<"age: "<<age<<endl; //引用派生类的私有成员,正确。
cout<<"address: "<<addr<<endl;
} //引用派生类的私有成员,正确。
private:
int age;
char addr[30];
};
int main()
{
Student1 stud1;
stud1.get_value_1();
stud1.display();
stud1.display_1();
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。