重载与重写的再理解

2023-11-03

函数重载

  1. 必须要在一个类中进行
  2. 子类无法重载父类的函数,父类同名函数将被名称覆盖
  3. 重载是在编译期间根据参数类型和个数决定函数调用

函数重写

  1. 必须是发生在子类和父类之间的
  2. 子类与父类必须有相同的函数原型
  3. 使用virtual使多态(如果不使用virtual是重定义)

代码测试

class father
{
	public: 
		void func ()
		{
			cout<<"xixi"<<endl;
		}		
		void func (int a,int b,int c)
		{
			cout<<"xixi"<<a<<endl;
		}

};
class child :public father
{
	public:
		void func (int a)
		{
			cout<<"xixi+++"<<a<<endl;
		}	
		void func (int a,int b)
		{
			cout<<"xixi+++"<<a<<b<<endl;
		}
		
};
int main(int argc, char *argv[])
{
	child a;
//	a.func(); 会出错,因为不能重载父类的函数
	a.father::func(1,2,3); //可以通过作用符来显示的使用父类的函数
    return 0;
}

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

重载与重写的再理解 的相关文章

  • Windows 上使用 g++ 的 Makefile,链接库

    我已经厌倦了 MSVC 6 以及每个人总是告诉我它是一个蹩脚的编译器等等 所以现在我决定尝试使用 vim 加 g 和 makefile 这是我的问题 我有以下 makefile This is supposed to be a commen
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 如何在 Windows 窗体中运行屏幕保护程序作为其背景?

    如何在 Windows 窗体中运行屏幕保护程序作为其背景 用户还可以在屏幕保护程序运行时与表单控件进行交互 为什么这个 我们有一个案例 需要在用户时运行 Windows Bubbles 屏幕保护程序 可以继续与表单控件交互吗 您可以使用以下
  • 指示泛型返回动态类型的对象

    这个问题是我原来问题的后续问题here https stackoverflow com questions 2541184 using a type object to create a generic 假设我有以下泛型类 简化 class
  • 使用scanf()时如何区分整数和字符

    我只是使用该功能scanf 代码如下 scanf d a printf d a 当我输入1时 它会像我想要的那样打印1 但即使我输入 1a 它也会像以前一样打印 1 当用户输入非整数时 例如 2 3 12ab 1 a 我想向用户显示 输入整
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 不要声明只读可变引用类型 - 为什么不呢?

    我一直在阅读这个问题 https stackoverflow com questions 2274412 immutable readonly reference types fxcop violation do not declare r
  • C# 中处理 SQL 死锁的模式?

    我正在用 C 编写一个访问 SQL Server 2005 数据库的应用程序 该应用程序是数据库密集型的 即使我尝试优化所有访问 设置适当的索引等 我预计迟早会遇到死锁 我知道为什么会发生数据库死锁 但我怀疑我能否在某个时候发布不发生死锁的
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • 如何将字符串转换为 Indian Money 格式?

    我正在尝试将字符串转换为印度货币格式 例如如果输入为 1234567 则输出应为 12 34 567 我编写了以下代码 但它没有给出预期的输出 CultureInfo hindi new CultureInfo hi IN string t
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • 无法通过 LINQ to Entities 使用某些功能?

    我正在尝试使用 LINQ 查询在项目上实现搜索功能 由于数据有时包含带有重音符号和其他符号的字符 因此我创建了一种方法来删除这些字符以进行搜索 这是我的代码 var addresses from a in db Addresses join
  • 理解 C++11 中的 std::atomic::compare_exchange_weak()

    bool compare exchange weak T expected T val compare exchange weak 是 C 11 中提供的比较交换原语之一 它是weak即使对象的值等于 它也会返回 falseexpected
  • Dynamics Crm:获取状态代码/状态代码映射的元数据

    在 Dynamics CRM 2011 中 在事件实体上 状态原因 选项集 也称为状态代码 与 状态 选项集 也称为状态代码 相关 例如看这个截图 当我使用 API 检索状态原因选项集时 如下所示 RetrieveAttributeRequ
  • 微软语音识别速度

    我正在使用微软的语音识别器开发一个小型练习应用程序 对于我正在做的事情来说 我似乎无法让它足够快地识别单个单词 我希望能够正常说话 系统将从我所说的内容中抓取 关键字 并生成一个字符串 目前我正在使用 5 个单词的自定义语法 红 蓝 黄 绿
  • 如何强制执行特定的 UserControl 设计

    我正在编写一个基本用户控件 它将由一堆其他用户控件继承 我需要对所有这些后代控件强制执行某种设计 例如 顶部必须有几个按钮以及一个或两个标签 后代用户控件区域的其余部分可以自由放置任何内容 最初 我认为我可以将一个面板放到 Base Use
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url
  • 在何处将 CFLAG(例如 -std=gnu99)添加到 (Eclipse CDT) 自动工具项目中

    我有一个简单的 Autotools C 项目 不是 C 其框架是由 Eclipse CDT Juno 为我创建的 CFLAG 通过检查 似乎是 g O2 我希望所有生成的 make 文件也具有 std gnu99附加到 CFLAG 因为我使
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D

随机推荐

  • 浅谈C++值传递、地址传递、引用传递

    浅谈C 值传递 地址传递 引用传递 共同的困惑 函数 形式参数和实体参数 值传递 数组作为参数时除外 地址传递 引用传递 作者 Gl Zhang96 来源 CSDN 版权声明 本文为博主原创文章 转载请附上博文链接 共同的困惑 相信大家在入
  • 对于程序员来说,有哪些适合的副业可以选择?

    程序员应该如何选择副业 做副业要满足几个条件 首先是有时间 能让你有精力投入到副业中去 除去这个先决条件 程序员在选择副业的时候可以从这3个方向去思考 方向一 技能 业务 比如技术顾问 培训老师 APP开发等等 方向二 资源 业务 比如字节
  • 组合数学之递推关系(一)定义及几个经典例子

    说明 本文参考了组合数学课件 精简整理了一下内容并谈谈自己的理解 定义 设 an a n a n 为一序列 把该序列中 an a n a n和它前面几个 ai a i a i
  • CCF-CSP 201412-2【Z字形扫描】一种自定义排序的做法

    问题描述 在图像编码的算法中 需要将一个给定的方形矩阵进行Z字形扫描 Zigzag Scan 给定一个n n的矩阵 Z字形扫描的过程如下图所示 对于下面的4 4的矩阵 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行
  • Android_studio项目文件结构分析

    不得不说 Android studio比ecplise功能要强大 一些小问题的解决也方便很多 今天记录一波android studio 项目文件结构分析 源于网络 本人只是学习 首先搞清楚AS项目结构是由三种视图的 就是这几个啦 Proje
  • H5使用微信和支付宝支付

    项目需求 App中要使用H5的支付宝或者微信支付 官方是不推荐这样使用的 微信支付 首先请求后台的下单接口 接口会返回一个可以跳转的URL地址 https wx tenpay com cgi bin mmpayweb bin checkmw
  • a元素使用

    a元素 超链接元素 href属性中指定的网址如果不是以https或者http开头的 那么都是一个相对网址 他的绝对路径目录是当前网址的绝对路径的目录部分 href hyper 超级的 reference 引用 跳转地址 他可以跳转如下几个位
  • wireshark过滤器的使用

    玉兰花 安全小白成长笔记 1 wireshark过滤器的使用 文章目录 玉兰花 安全小白成长笔记 1 前言 一 什么是wireshark过滤器 二 过滤器的使用 1 按照协议过滤 2 按照IP地址过滤 3 按照端口过滤 3 按关键字过滤 4
  • 如何干掉腾讯网迷你版

    如何干掉腾讯QQ弹窗 腾讯网迷你版 最近在微软商店下载了MS版的QQ for Windows 旨在避免国内官网版本捆绑的Qprotect Q盾 扫盘流氓进程 没想到扫盘进程没了 多了一个广告弹窗服务 网上有人提到这个 腾讯网迷你版 可以在Q
  • 深度学习训练中迭代次数对最后预测结果的影响

    深度学习训练中迭代次数对最后预测结果的影响 代码的运行环境 源代码 控制迭代次数 代码的运行环境 win10专业版 Anaconda2020 02 tensorflow1 14 0 keras2 2 5 源代码 源代码主要来自杨培文的 深度
  • 机器学习 day19(使用python和np实现前向传播)

    1 烤咖啡豆模型 使用一维数组来表示这些向量和参数 所以只有一个方括号 W1 1 表示layer 1的第一个神经元的W Z1 1 表示 W1 1和输入X之间的点积 再与b1 1相加 a1 1 表示应用Z1 1的sigmoid函数 a1 表示
  • 剪映专业版 for Mac(全能易用的剪辑软件)v2.3

    剪映专业版 for Mac 界面更清晰 面板更强大 布局更适合电脑端用户 适用更多专业剪辑场景 延续剪映移动端全能易用的风格 无论你是剪辑师 学生 vlogger 剪辑爱好者 博主 都能够迅速上手操作 制作更专业 更高阶的视频效果 元宇宙
  • error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义

    error LNK2005 DllMain 12 已经在 dllmain obj 中定义 今天遇到了同样的问题 搜索搜到了这里 后来解决了 创建解决方案时 用的是WIN32 DLL 添加了MFC ATL的支持 自动生成文件中是没有现成的Dl
  • RMPE: Regional Multi-person Pose Estimation 论文解读

    paper title RMPE Regional Multi person Pose Estimation paper link https arxiv org pdf 1612 00137 pdf project https www m
  • ubuntu18 Swin-Transformer-Object-Detection

    1 目标检测 https github com SwinTransformer Swin Transformer Object Detection 原文地址 https arxiv org abs 2103 14030 代码地址 https
  • 剑指offer-11-数值的整数次方

    文章目录 0 问题 1 一般思路 2 最优方法 快速求幂算法 3 完整代码 0 问题 给定一个double类型的浮点数base和int类型的整数exponent 求base的exponent次方 保证base和exponent不同时为0 1
  • 【转】VS2008快捷键使用技巧

    http www cnblogs com aplomb articles 2171819 html 最近在网上搜集了一些VS2008的快捷键使用技巧 希望能给你带来帮助 提高你的开发效率 1 拷贝和删除一行之前 你不必选中该行 我很讨厌看到
  • java反射机制判断对象所有属性是否全部为空

    判断1个对象所有属性是否为空 可以使用反射机制实现 核心参考代码 判断该对象是否 返回ture表示所有属性为null 返回false表示不是所有属性都是null public static boolean isAllFieldNull Ob
  • PyTorch基础:神经网络工具箱torch.nn(nn.Module类)

    nn Module类 nn Module是PyTorch提供的神经网络类 并在类中实现了网络各层的定义及前向计算与反向计算机制 在初始化中定义模型结构与参数 在函数forward 中编写网络前向过程即可 一般把网络中具有可学习参数的层 如全
  • 重载与重写的再理解

    函数重载 必须要在一个类中进行 子类无法重载父类的函数 父类同名函数将被名称覆盖 重载是在编译期间根据参数类型和个数决定函数调用 函数重写 必须是发生在子类和父类之间的 子类与父类必须有相同的函数原型 使用virtual使多态 如果不使用v