C++ 18 之 函数的重载

c18函数的重载.cpp

#include <iostream>
#include <string.h>
using namespace std;void fun4(int a)
{cout << "int a: "<< a << endl;
}
void fun4(double a)
{cout << "double a: " << a << endl;
}void fun4(int a, double b)
{cout << "int a, double b" << endl;
}// 1.返回值不同,不能作为重载的条件,因为会产生二义性,
//void fun4(int a, double b) {}  调用时fun(3, 1.2)时 可能不需要返回值,程序就分不清楚执行哪个程序了
// int fun4(int a, double b)
// {
//     return 1;
// }void fun4(double b, int a)
{cout << "double b , int a" << endl;
}
// 2.函数重载碰上默认参数,也会产生二义性  
// void fun4(double b){}   当调用 fun4(3.14)时 程序分不清走哪个函数 所以会产生二义性
// void fun4(double b=3.14, int a=6)
// {
//     cout << "默认double b ,int a:" << endl;
// }// 函数重载的引用
// 传递实参的时候是可读可写,找重载时也匹配一个可读可写的函数
void fun5(int& a)
{cout << "int &a" << endl;
}
// const 常量,只读不写
void fun5(const int& a) // const int &a = 10
{cout << "const int &a" << endl;
}// 会产生二义性,已经有引用的重载,就不要再写普通的重载
// void fun5(int a)
// {
//     cout << "int a" << endl;
// }int main()
{// 传不同的值,走不同的函数(虽然函数名一样,但是传递的参数不同,就会执行不同的函数)fun4(2);         // void fun4(int a)fun4(3.14);      // void fun4(double a)fun4(3, 1.2);    // void fun4(int a, double b)fun4(1.2, 3);    // void fun4(double b, int a)int a = 10;fun5(a);    // void fun5(int& a)  // 传递实参的时候是可读可写,找重载时也匹配一个可读可写的函数fun5(20);   // void fun5(const int& a)    // const 常量return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/27938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

后端|压缩Base64图片的两种方式

Base64是一种将二进制数据编码为ASCII字符串的方法。它通过将3个字节的二进制数据转换为4个可打印字符的ASCII字符&#xff0c;从而将二进制数据转换为可传输的文本格式。Base64编码常用于传输图片或音频文件。Base64编码可以保证数据在传输过程中不丢失&#xff0c;同时可以避…

24年河北自考报名流程详细教程汇总

2024年河北自考本科报名马上就要开始了&#xff0c;想要参加考试报名的同学&#xff0c;提前看一下&#xff0c;了解一下报名流程&#xff0c;准备一些报名材料。 报名时间&#xff1a;2024年1月5日—10日8:00—22:00 考试时间&#xff1a;2024年4月13日—14日 报名照要求&…

ControlNet作者新作Omost 一句话将LLM的编码能力转化为图像生成能力,秒变构图小作文,再也不用为不会写提示词担心了!

近日&#xff0c;ControlNet的作者推出了一个全新的项目—Omost。Omost是一个将LLM的编码能力转化为图像生成能力的项目。对现有图像模型的提示词理解有着巨大的帮助。通过很短的提示词&#xff0c;就可以生成非常详细并且空间表现很准确的图片。 完美解决新手小白不会写提示词…

[数据集][目标检测]减速带检测数据集VOC+YOLO格式5400张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;5400 标注数量(xml文件个数)&#xff1a;5400 标注数量(txt文件个数)&#xff1a;5400 标注…

运营必看!精细化运营的四个通用策略

在当今竞争激烈的市场环境中&#xff0c;精细化运营是企业取得成功的关键。 接下来&#xff0c;就和大家聊聊精细化运营的四个通用策略&#xff0c;帮助大家更好地满足不同群体的需求&#xff0c;提高用户满意度。 1、心智差异 由于每个人的背景、经历和价值观都不同&#x…

使用docker构建java应用

1、docker简介 Docker是一个开源的容器化平台&#xff0c;可以帮助开发人员将应用程序及其依赖项打包成一个可移植的容器。容器化是一种轻量级的虚拟化技术&#xff0c;可以使应用程序在不同的操作系统和环境中具有一致的运行方式。 使用Docker带来的好处包括&#xff1a; 简…

军事武器3D数字化交互展示创作平台大大降低成本

军事力量和装备是一个国家国防安全的重要支柱&#xff0c;这在全球范围内得到广泛认同&#xff0c;为了让入伍的新兵能快速熟悉和掌握武器装备操作流程&#xff0c;基于创新型的华锐3D云展平台工具&#xff0c;搭建的3D军事武器展示搭建编辑器&#xff0c;让部队的军事武器展示…

Solidity智能合约事件(event)

文章目录 Solidity智能合约事件(event)什么是event事件event有什么作用日志内容位于区块链的什么地方&#xff1f;【重要】以太坊交易获取如何在 Solidity 中使用事件&#xff1f;参考 Solidity智能合约事件(event) 什么是event EVM有一个日志功能&#xff0c;用于将数据“写…

C++中的值传递和引用传递

在C中&#xff0c;函数参数传递主要有两种方式&#xff1a;值传递&#xff08;Pass by Value&#xff09;和引用传递&#xff08;Pass by Reference&#xff09;。这两种方式在参数传递时处理数据的方式有所不同&#xff0c;下面我将详细解释它们。 1. 值传递&#xff08;Pass…

2024最新D卷 华为OD统一考试题库清单(按算法分类),如果你时间紧迫,就按这个刷

目录 专栏导读华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如何刷题更有效率呢&#xff1f; 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵 三、算法1、基础算法① 贪心思维② 二分查…

C#批量设置海康和大华录像机NVR,GB28181的通道编码.

我经常要把小区海康或者大华的硬盘录像机推送到自己搭建的gb28181监控平台,每次几百个摄像头编码,有点头大,就用了1个多周写了个批量设置海康和大华硬盘录像机的通道编码的程序,海康和大华的SDK简直不是人看的. 太乱了. 大华读取通道编码的代码 /// <summary>/// 获取通道…

自动生成企业培训视频:创新与效率的完美结合

前言 随着人工智能技术的飞速发展&#xff0c;大模型技术在各个领域的应用日益广泛。在企业培训领域&#xff0c;大模型技术的应用为培训视频的生成带来了革命性的变革。本文将探讨如何利用大模型技术自动生成企业培训视频&#xff0c;以及这一技术为企业培训带来的创新和效率…

Javaweb8 数据库Mybatis+JDBC

Mybatis Dao层&#xff0c;用于简化JDBC开发 1步中的实体类 int类型一般用Integer &#xff1a;如果用int类型 默认值为0,会影响数据的判断,用Integer默认值是null,不会给数据的判断造成干扰 2.在application .properties里配置数据库的链接信息-四要素 #驱动类名称 #URL #用…

mmdeploy环境部署流程

参考&#xff1a;mmdeploy/docs/zh_cn/01-how-to-build/linux-x86_64.md at main open-mmlab/mmdeploy (github.com) 从零入门《openmmlab》mmdeploy[1]环境安装及简单上手_哔哩哔哩_bilibili 我的环境&#xff1a; docker容器&#xff0c;ubuntu20.04&#xff0c;cuda11.7…

OPNsense 24.1 - 基于 FreeBSD 的开源防火墙和路由平台

OPNsense 24.1 - 基于 FreeBSD 的开源防火墙和路由平台 请访问原文链接&#xff1a;https://sysin.org/blog/opnsense/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 关于 OPNsense OPNsense 是一个开源、易于使用且易于构建…

PS通过GTX实现SFP网络通信1

将 PS ENET1 的 GMII 接口和 MDIO 接口 通过 EMIO 方 式引出。在 PL 端将引出的 GMII 接口和 MDIO 接口与 IP 核 1G/2.5G Ethernet PCS/PMA or SGMII 连接&#xff0c; 1G/2.5G Ethernet PCS/PMA or SGMII 通过高速串行收发器 GTX 与 MIZ7035/7100 开发…

利用flask + pymysql监测数据同步中的数据是否完整

一、背景 最近项目搞重构&#xff0c;将原有的系统拆分成了多个子系统。但是有数据表需要在不同系统中数据&#xff0c;同时为了解决项目性能最了一个很简单的方案&#xff0c;就是公共数据存在每个系统之中。 二、分析 分析这些表&#xff0c;这些表相比源数据表&#xff0c;表…

行为型-观察者模式(Observer)

观察者模式&#xff08;Observer Pattern&#xff09;是一种软件设计模式&#xff0c;主要用于在对象之间建立一对多的依赖关系&#xff0c;以便当一个对象的状态发生改变时&#xff0c;其所有依赖的对象都会得到通知并自动更新。观察者模式属于行为型模式。以下是关于观察者模…

lvgl手势事件判断为点击事件问题

lvgl手势事件判断为点击事件问题处理方法 1.打开文件lvgl\src\core\lv_indev.c 2. 修改函数 static void indev_proc_release(_lv_indev_proc_t * proc)2.1 由原来的 /*** Process the released state of LV_INDEV_TYPE_POINTER input devices* @param proc pointer to an …

学习笔记——交通安全分析05

目录 前言 当天学习笔记整理 交通行为、心理与安全 结束语 前言 #随着上一轮SPSS学习完成之后&#xff0c;本人又开始了新教材《交通安全分析》的学习 #整理过程不易&#xff0c;喜欢UP就点个免费的关注趴 #本期内容接上一期04笔记 当天学习笔记整理 交通行为、心理与…