zoukankan      html  css  js  c++  java
  • Problem C: Person类与Student类的关系

     

    Problem C: Person类与Student类的关系

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 2891  Solved: 2201
    [Submit][Status][Web Board]

    Description

    当然,一个student首先是一个person。所以,Student类是Person类的派生类。请定义Person类,包括:

    1. 数据成员string name和int age,分别表示姓名和年龄。

    2. 构造函数和析构函数,它们有相应的输出,见样例。

    3. void show()函数:按照样例输出该对象的name和age属性值。

    定义Student类,是Person类的子类:

    1. 数据成员int grade,表示学生所在年级。

    2. 构造函数和析构函数,它们有相应的输出,见样例。

    3. void show()函数:按照样例输出该对象的grade属性值。

    Input

    只有1行,分为三部分:一个不含空白符的字符串以及两个整数。

    Output

    见样例。

    Sample Input

    Tom 19 3
    

      

    Sample Output

    A person Tom whose age is 19 is created.
    A student whose grade is 3 is created.
    Name is Tom and age is 19.
    Grade is 3.
    A student whose grade is 3 is erased.
    A person Tom whose age is 19 is erased.
    

      

    HINT

     

    Append Code

    append.cc
    int main()
    {
        string n;
        int a, g;
        cin>>n>>a>>g;
        Student student(n, a, g);
        student.Person::show();
        student.show();
        return 0;
    }
    

      

    #include <iostream>
    using namespace std;
    class Person
    {
    public :
        string name;
        int age;
        Person(string arr, int brr):name(arr), age(brr)
        {
            cout<<"A person "<<name<<" whose age is "<<age<<" is created."<<endl;
        }
        void show()
        {
            cout<<"Name is "<<name<<" and age is "<<age<<"."<<endl;
        }
        ~Person()
        {
            cout<<"A person "<<name<<" whose age is "<<age<<" is erased."<<endl;
        }
    };
    class Student :public Person
    {
    public :
        int grade;
        Student(string arr, int a, int g):Person(arr,a),grade(g)
        {
            cout<<"A student whose grade is "<<grade<<" is created."<<endl;
        }
        void show()
        {
            cout<<"Grade is "<<grade<<"."<<endl;
        }
        ~Student()
        {
            cout<<"A student whose grade is "<<grade<<" is erased."<<endl;
        }
    };
    int main()
    {
        string n;
        int a, g;
        cin>>n>>a>>g;
        Student student(n, a, g);
        student.Person::show();
        student.show();
        return 0;
    }
    

      

    作者:7oDo

    仅供参考,请勿抄袭。

    Hang Hang Hang !!!

  • 相关阅读:
    Java以指定格式输入数字
    毕向东JAVA视频讲解(第六课)
    毕向东JAVA视频讲解(四五课)
    毕向东JAVA视频讲解笔记(前三课)
    C++ Primer笔记整理
    map的详细用法
    opencv中的矩阵操作
    Matlab程序 转C++/Opencv基于Mat 不可不知的17个函数
    目标检测的图像特征提取之(三)Haar特征
    目标检测的图像特征提取之(二)LBP特征
  • 原文地址:https://www.cnblogs.com/Jie-Fei/p/9129609.html
Copyright © 2011-2022 走看看