重载与重写的再理解

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(使用前将#替换为@)

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

随机推荐

  • 浅谈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