第十七周oj刷题——Problem E: C++习题 输入输出--私有继承

Description

Student类含有私有数据成员:num,name,sex,公有成员函数: 输入函数get_value()和输出函数display()。采用私有继承方式实现类Student1,增加数据成员:age,addr,成员函数:get_value_1()和display_1()。在程序运行时输入num,name,sex,age,addr的值,调用输出函数输出以上5个数据的值。

Input

输入num,name,sex,age,addr的值

Output

输出num,name,sex,age,addr的值

Sample Input

1001 zhang m 21 shanghai

Sample Output

num: 1001
name: zhang
sex: m
age: 21
address: shanghai

/* All rights reserved.
 * 文件名称:test.cpp
 * 作者:陈丹妮
 * 完成日期:2015年 7 月 3 日
 * 版 本 号:v1.0
 */
#include <iostream>
#include <cstring>
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:private Student
{
private:
    int age;
    string addr;
public:
    void get_value_1()
    {
        get_value();
        cin>>age>>addr;
    }
    void display_1()
    {
        display();
        cout<<"age: "<<age<<endl;
        cout<<"address: "<<addr<<endl;
    }
};

int main()
{
    Student1 stud1;
    stud1.get_value_1();
    stud1.display_1();
    return 0;
}
<img src="http://img.blog.csdn.net/20150703183155206?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

学习心得:私有继承,可以继承私有成员,但是,不能直接访问私有成员,可以用一个函数来访问。继续努力!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 19:43:17

第十七周oj刷题——Problem E: C++习题 输入输出--私有继承的相关文章

第十七周oj刷题——Problem D: C++习题 输入输出--公用继承

Description Student类含有私有数据成员:num,name,sex,公有成员函数: 输入函数get_value()和输出函数display().采用公用继承方式实现类Student1,增加数据成员:age,addr,成员函数:get_value_1()和display_1().在程序运行时输入num,name,sex,age,addr的值,调用输出函数输出以上5个数据的值. Input 输入num,name,sex,age,addr的值 Output 输出num,name,sex

第十七周oj刷题——Problem F: C++习题 输入输出--保护继承

Description Student类含有私有数据成员:num,name,sex,公有成员函数: 输入函数get_value()和输出函数display().采用私有保护方式实现类Student1,增加数据成员:age,addr,成员函数:get_value_1()和display_1().在程序运行时输入num,name,sex,age,addr的值,调用输出函数输出以上5个数据的值. Input 输入num,name,sex,age,addr的值 Output 输出num,name,sex

第十五周oj刷题——Problem I: C++ 习题 比较大小-类模板

Description 声明一个类模板,利用它分别实现两个整数.浮点数和字符的比较,求出大数和小数.说明:在类模板外定义各成员函数. Input 输入两个整数.两个浮点数和两个字符 Output 从大到小输出两个整数.两个浮点数和两个字符 Sample Input 3 7 45.78 93.6 a A Sample Output 7 3 93.60 45.78 a A   /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年

第十五周oj刷题——Problem E: C++习题 对象数组求最大值

Description 建立一个对象数组,内放n(<10)个学生的数据(学号.成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出n个学生中成绩最高者,并输出其学号. Input n和n个学生的学号.成绩 Output 成绩最高者的学号和成绩 Sample Input 5 101 78.5 102 85.5 103 98.5 104 100.0 105 95.5 Sample Output 104 100.00 /* All rights reserved. * 文件名称:

第十七周oj刷题——Problem A: 实现复数类中的加运算符重载【C++运算符重载】

Description int家有i1和i2弟兄俩,小手一拉i1+i2,加起来了:double家有d1和d2姐妹俩,小手也一拉,d1+d2,也加起来了.C++村子里来了复数(Complex)一家子,也有俩兄弟c1和c2,想要来个累加,笨乎乎地,c1.add(c2).c1和c2伤心极了,也想像其他小朋友一样,小手一拉,c1+c2,也能加起来.这个任务交给了正在看题的魔术师,帮他们一个忙,让复数也能用+号相加吧.(可以复制提示部分的代码开始你的编程) Input 四个数,分别代表两个虚数c1和c2的

第十七周oj刷题——Problem O: B C++时间类的运算符重载

Description C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour).分(minute),秒(second). 重载运算符"+",使之能用于时间对象的加法运算:重载运算符"<<",使之能用于时间对象的输出操作. (1)参加运算的两个操作数可以都是时间类对象,也可以其中有一个是整数(表示秒),顺序任意. 例如,t1+t2,i+t1,t1+i均合法(设i为整数表示秒数, t1,t2为时间类Time对象). (2)输

第十七周oj刷题——Problem B: 分数类的四则运算【C++】

Description 编写分数类Fraction,实现两个分数的加.减.乘和除四则运算.主函数已给定. Input 每行四个数,分别表示两个分数的分子和分母,以0 0 0 0 表示结束. Output 空格分隔的两个分数的减和除的结果. Sample Input 1 2 -1 2 4 3 3 4 0 0 0 0 Sample Output 1 -1 7/12 16/9 /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年 7

第十五周oj刷题——Problem F: C++习题 商品销售

Description 商店销售某一商品,每天公布统一的折扣(discount).同时允许销售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠.现已知当天m个销货员销售情况为 销货员号(num)            销货件数(quantity)       销货单价(price) 101                                              5                            23.5 10

第十五周oj刷题——Problem N: C++习题 复数类--重载运算符3+

Description 请编写程序,处理一个复数与一个double数相加的运算,结果存放在一个double型的变量d1中,输出d1的值,再以复数形式输出此值.定义Complex(复数)类,在成员函数中包含重载类型转换运算符: operator double() { return real; } Input 一个复数与一个double数 Output d1的值和复数形式的此值 Sample Input 3 4 2.5 Sample Output d1=5.50 c2=(5.50, 0.00)