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 继承 的相关文章

  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 如何针对 Nancy 中的 Active Directory 进行身份验证?

    这是一篇过时的文章 但是http msdn microsoft com en us library ff650308 aspx paght000026 step3 http msdn microsoft com en us library
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反

随机推荐

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

    如何关闭端口防止病毒与黑客入侵 你的系统是不是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的基类 类图如下 代码如下 头文件