C++ 实验8 继承

2023-10-27

编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生类student和教师类teacher的基类。

类图如下:

代码如下:


头文件(ss.h)代码如下:

#include<string>
class person {   //父类
private:
	char name[10];//姓名
	int numble; //编号
public:
	void print();//输出
    const char *getname();//得到姓名
	int getnumble();//得到编号
	person(const char* na, int num);//构造函数
};
class student :public person {  //person的子类
private:
	char cla[20];//班级
	double grade;//成绩
public:
	student(const char* na, int num, const char* c, double g);
	void print();//输出
};
class teacher :public person {  //person的子类
private:
	char pro[20];//职称
	char section[10];//部门
public:
	teacher(const char* na, int num, const char* pr, const char* sec);
	void print();//输出
};

main文件代码如下:

#include "ss.h"
#include<iostream>
#include<string>
using namespace std;

const char* person::getname() {
	return name;
}
int person::getnumble() {
	return numble;
}
person::person(const char* na, int num)
{
	strcpy_s(name, na);
	numble = num;
}
void person::print() {
	cout << endl;
	cout << "姓名:" << getname()<< endl;
	cout << "编号:" << getnumble()<< endl;
}
student::student(const char* na, int num, const char* c, double g) :person(na, num) {
	strcpy_s(cla, c);
	grade = g;
}

void student::print() {
	person::print();
	cout << "班级:" << cla << endl;
	cout << "成绩:" << grade << endl;
}

teacher::teacher(const char* na, int num, const char* pr, const char* sec) :person(na, num) {
	strcpy_s(pro, pr);
	strcpy_s(section, sec);
}

void teacher::print()
{
	person::print();
	cout << "职称:" << pro << endl;
	cout << "部门:" << section << endl;
}
void main()
{
	person p("张三",101);
	p.print();
	student st("李四", 102, "七年级一班", 88.0);
	st.print();
	teacher t("王五", 103, "高数老师", "基础部");
	t.print();
}

 实验运行截图如下:


代码仅供参考

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 实验8 继承 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 如何关闭端口防止病毒与黑客入侵

    如何关闭端口防止病毒与黑客入侵 你的系统是不是1XP SP1 但是安装了2005瑞星杀毒软件后总是提示系统有 MS 4011 Exploit 和Blaster Rpc Exploit 两个漏洞 最直接的办法 把系统不用的端口都关闭掉 然后从
  • 爬虫入门基础-Selenium反爬(taobao)

    1 淘宝反爬 淘宝的反爬机制是非常完善的 在用selenium登陆淘宝的时候发现淘宝能检测到并弹出滑块 然后无论怎么滑动都通过不了 在经过一番搜索后发现很多网站对selenium都有检测机制 如检测是否存在特有标识 cdc asdjflas
  • cocos creator长列表优化之超出显示区域的隐藏,优化scrollView 列表,Grid列表,通过显示隐藏的方式优化DrawCall,可通用

    版本 cocos creator3 3 2 这里我把mask打开 看看效果 长列表优化 隐藏区域外的 20220411 161150 长列表优化一直是游戏优化的重点内容 特别是在真机上 排行榜 背包等等的数据 渲染太多 导致drawCall
  • TCP/IP网络编程 - 基础学习

    1 创建Socket include
  • 排序算法的原理与手写代码

    本文从三个方面阐述这十种经典的排序算法 分别是 A 算法的性质 B 代码的实现 C 算法的实用性与适用范围 以下是详细的说明 A 算法的性质 1 选择排序 1 原理 每次都选择数组中最小的数 将其依次从第零个放入 直到最后 2 属性 时间复
  • python调用手机摄像头_教你如何利用python调用摄像头

    这篇文章主要介绍了python调用摄像头的示例代码 帮助大家更好的理解和使用python 感兴趣的朋友可以了解下 一 打开摄像头 import cv2 import numpy as np def video demo capture cv
  • Maven 项目集成Test 框架打包提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4

    Maven 打包错误信息 ERROR Failed to execute goal org apache maven plugins maven surefire plugin 2 12 test default test on proje
  • 突破前端反调试--阻止页面不断debugger

    原文地址 https segmentfault com a 11 其实我也不太确定是不是反调试 但是他阻止我看他代码了 那就是反调试 姑且这么称呼吧 问题复现 一次扒某网站的前端代码 打开控制台要看Network 结果发现他们页面一打开控制
  • 最详细的解决:UnboundLocalError: local variable ‘a‘ referenced before assignment

    代码及报错如下 解决 很多人都非常困惑 为什么在test3中可以直接输出a 但是在test3中 使用a 1的时候 就直接报错呢 首先 我们需要明确一个概念 就是全局变量与局部变量 如下图 大家觉得打印的a会是1还是3 答案是1 因为定义在t
  • C语言/C++常见习题问答集锦(四十五) 之数字之谜

    C语言 C 常见习题问答集锦 四十五 之数字之谜 程序之美 1 最大公约数 题目描述 给定N个正整数 求他们的最大公约数 本题要求函数实现 接口如下 int gcd array int num int size 求大小为size的数组num
  • 基于Stomp协议的时间通知机制

    问题导入 系统运行过程中出现了由主持人的操作推动会议流程的场景 如何将主持人的命令通过服务器同步到每个人的设备上 问题分析 在当前的系统设计中使用了C S架构 基本上所有的请求都是终端通过http协议向服务器提出的 而服务器没有办法向终端主
  • pygame飞机大战小游戏(python大作业)

    一 项目背景 python大作业 在查看了老师给的链接发现教学视频不完整 所以借用了同学的 Python编程 从入门到实践 中的一个项目 学习模仿 二 游戏具体介绍 这是一款由辉辉亲自打造的太空对战小游戏 游戏背景 在广袤无垠的太空里有一群
  • 图的遍历(完整代码)

    代码实现功能 1 利用图的邻接矩阵构造并输出图 2 实现图的深度优先搜索遍历 3 实现图的广度优先搜索遍历 include
  • 【支持M1】MacDroid for Mac:Mac和Android安卓设备数据互通

    Mac和Android组合始终存在的唯一问题是无法在这些设备之间足够快地传输数据 但是MacDroid for mac填补了这一空白 MacDroid mac版是Macos上一款安卓手机数据传输助手 MacDroid mac下载支持Mac和
  • 码蹄集 ---- 供水管线 kruskal算法

    供水管线 kruskal算法 克鲁斯卡尔算法 最小生成树算法 应用场景 从连通图中找出最小生成树 和实际相结合的有 水管共线 公交车站路线图 城市间修路等 算法主要思想 将连通网中所有的边按照权值大小做升序排序 从权值最小的边开始选择 只要
  • C语言调用libusb访问USB驱动

    目录 一 环境搭建 1 下载库文件 2 解压 3 配置VS工程 3 1 头文件的配置
  • SyntaxError: unexpected EOF while parsing

    SyntaxError unexpected EOF while parsing 这是典型的没有验证函数参数是否有效 原因是eval str 的字符串为空 你可以运行如下代码 观察输出 try print eval except Excep
  • 六句话给出 Synchronized 和 Lock 的区别

    1 Synchronized 内置的 Java 关键字 Lock 是一个 Java 类 2 Synchronized 无法判断获取锁的状态 Lock 可以判断是否获取到了锁 3 Synchronized 会自动释放锁 Lock 必须要手动释
  • Windows下Anaconda3下载安装详细步骤

    第一步 去官网下载Anaconda Individual Editionhttps www anaconda com products individual 第二步 点击Download 在安装之前 要先安装python的版本 这里我先安装
  • C++ 实验8 继承

    编写一个学生和教师数据输入和显示程序 学生数据有编号 姓名 班级和成绩 教师数据有编号 姓名 职称和部门 要求将编号 姓名输入和显示设计成一个类person 并作为学生类student和教师类teacher的基类 类图如下 代码如下 头文件