C++习题 输入输出--公用继承

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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注