首页 > 其他分享 >继承的题目

继承的题目

时间:2022-12-25 23:11:26浏览次数:31  
标签:题目 继承 Smith char Student Print 20 MIT

题目描述

定义一个学生基类Student,包括私有数据成员:学校名、姓名、年龄,输出数据成员值的公有成员函数Print()。再定义一个研究生类G_Student,公有继承方式派生于学生类Student,其中新增私有数据成员:导师姓名,并定义输出研究生数据的公有成员函数Print()。实现学生信息的输出。 键盘输入:MIT Kate 20 Smith 输出:MIT大学的Kate年龄20导师是Smith

输入

MIT Kate 20 Smith

输出

MIT大学的Kate年龄20导师是Smith

附ac代码

#include<iostream>
#include<cstring>
using namespace std;
class student {
protected:
    char* school;
    char* name;
    int old;
public:
    student(char* s, char* n, int o)
    {
        school = new char[strlen(s) + 1];
        if (school != 0) strcpy(school, s);
        name = new char[strlen(n) + 1];
        if (name != 0) strcpy(name, n);
        old = o;
    }
    void Print()
    {
        cout << school << "大学的" << name << "年龄" << old;
    }
    ~student()
    {
        delete[] school;
        delete[] name;
    }
};
class G_Student :public student {
private:
    char* teacher;
public:
    G_Student(char* s, char* n, int o, char* t):student(s, n, o)//此处括号里应为实参
    {
        teacher = new char[strlen(t) + 1];
        if (teacher != 0) strcpy(teacher, t);
    }
    void Print()
    {
        cout << school << "大学的" << name << "年龄" << old << "导师是" << teacher;
    }
    ~G_Student()
    {
        delete[] teacher;
        //不能去delete[] school;
    }

};
int main()
{
    char s[50]; char n[50]; int o; char t[50];
    cin >> s >> n >> o >> t;
    G_Student g(s, n, o, t);
    g.Print();
    return 0;
}

 

标签:题目,继承,Smith,char,Student,Print,20,MIT
From: https://www.cnblogs.com/ruoye123456/p/17004831.html

相关文章

  • 为什么更推荐使用组合而非继承关系?
    前言最近在看公司项目的代码,看到了大量的继承体系,而且还是继承了多层,维护、阅读都十分的困难。在查阅了一些资料以后,包括《EffectiveJava》一书中的第16条提到“组合优先......
  • Python学习笔记--从继承开始继续
    继承的基础语法单继承:多继承:一个子类继承多个父类pass关键字补全语法注意事项:复写和使用父类成员复写父类成员也就是相当于Java中的方法重写调用父类成员......
  • Java继承
    显示所有属性:alt+shift+s封装快捷键:alt+shift+s+r什么是继承?继承是符合人类现实世界的一种概念,它的作用把相同的属性和方法抽取出来,提供可以被继承的子类使用,实现......
  • Java 的垃圾回收机制的题目
    Java语言中垃圾回收的优点和原理,并考虑2种回收机制。  答案:Java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序......
  • C# 继承、重载、多态
    写个测试,一看便知 父类:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassComponent{publicvirtualvoidTest......
  • Maven -- 模块继承(子模块无需写依赖的version)
    模块继承模块依赖关系维护父工程配置依赖的信息,防止子模块因为依赖版本不兼容而发生冲突   继承的作用maven中的继承与java中的继承相似,在子工程中配置继承关系......
  • JAVA继承得深度了解
    继承与合成基本概念继承:可以基于已经存在的类构造一个新类。继承已经存在的类就可以复用这些类的方法和域。在此基础上,可以添加新的方法和域,从而扩充了类的功能。合成:在......
  • 参考题目1——毕业设计管理系统
    (1)题目要求(源代码提示中)(2)方法结构//主界面publicstaticintsystemMenu()//主菜单界面publicstaticvoidmainFrame()//主方法//提交界面publicstaticvoidtijia......
  • 参考题目2——四则运算(一)
    (1)题目要求1.题目避免重复;2.可定制(数量/打印方式);3.输入大的数量值,测试一下系统是否崩溃,反向查找系统是否优化的余地;4.定制操作数的个数;5.定制是否有乘除法;6.定制是否有括号......
  • 参考题目3——四则运算(二)
    (1)题目要求1.定义方法验证题目是否重复;并将出题参数用子方法定义。2.定义随机数生成器子方法,根据出题参数(出题个数、操作数的个数、确定操作数的取值范围)生成全部的随机操作......