C++系列-函数重载

这篇具有很好参考价值的文章主要介绍了C++系列-函数重载。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

函数重载

  • 函数名可以相同, 提高复用性

函数重载的条件

  • 同一个作用域下
  • 函数名相同
  • 函数参数不同
    – 参数个数不同
    – 参数顺序不同
    – 参数类型不同
  • 不可以使用返回值作为重载的条件
code:
	#include<iostream>
	using namespace std;
	void test()
	{
		cout << "void test()" << endl;
	}
	void test(int a)
	{
		cout << "void test(int a)" << endl;
	}
	void test(int a, float b)
	{
		cout << "void test(int a, float b)" << endl;
	}
	void test(float a, int b)
	{
		cout << "void test(float a, int b)" << endl;
	}
	void main()
	{
		test();
		test(100);
		test(100, 3.14);
		test(3.14, 100);
		system("pause");
	}
result:
	void test()
	void test(int a)
	void test(int a, float b)
	void test(float a, int b)

函数重载注意事项

引用作为重载

  • 参数可以分为const和非const。
code:
    #include<iostream>
   using namespace std;
   void test(int &a)
   {
   	cout << "void test(int &a)" << endl;
   }
   void test(const int& a)
   {
   	cout << "void test(const int& a)" << endl;
   }
   void main()
   {
   	int a = 10;
   	test(a);
   	test(10);		// 当执行void test(int &a) 则为int &a=10,会出错,const int& a=10,正常
   	system("pause");
   }
result:
void test(int &a)
void test(const int& a)

函数重载遇到默认参数

code:
#include<iostream>
using namespace std;

void test(int a, int b = 10)
{
	cout << "void test(int a, int b = 10)" << endl;
}
void test(int a)
{
	cout << "void test(int a)" << endl;
}

void main()
{
	//test(666);		// 报错,不知道执行哪一个
	test(20, 30);
	system("pause");
}

result:
	void test(int a, int b = 10)

文章来源地址https://www.toymoban.com/news/detail-661143.html

到了这里,关于C++系列-函数重载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ 面向对象(3)——重载运算符和重载函数

    C++ 允许在同一作用域中的某个 函数 和 运算符 指定多个定义,分别称为 函数重载 和 运算符重载 。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。 当您调用一个 重载函数 或 重载运算符 时

    2024年02月10日
    浏览(53)
  • C++入门:函数缺省参数与函数重载

    目录 1.函数缺省参数 1.1 缺省参数概念 1.2 缺省参数分类 2.函数重载 2.1 函数重载概念 2.2 C++支持函数重载的原理 缺省参数是 声明或定义函数时 为函数的 参数指定一个缺省值 。在调用该函数时,如果没有指定实 参则采用该形参的缺省值,否则使用指定的实参,有点备胎的意

    2024年02月12日
    浏览(32)
  • 【C++】函数重载详解

    我编写了一个简单的 Add 函数来执行整数相加,它既简单又能够达到我想要的效果。然而,如果我现在需要一个能够执行浮点数相加的函数怎么办呢?一种方法是重新编写一个函数,但是问题是该如何命名呢?已经有一个 Add 函数了,如果取相同的名字就会出现命名冲突,而重

    2024年02月03日
    浏览(35)
  • C++之函数重载【详解】

      重载函数是函数的一种特殊情况,为方便使用,C++允许在同一中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。这就是重载函数。重载函数常用来实现功能类似而所处理的

    2024年02月06日
    浏览(33)
  • 【C++入门】函数重载

    函数重载就是在同一个作用域内,允许存在参数不同的同名函数 。 例子: 例子: 例子: 注意这里的顺序指的是参数类型的顺序,而不是参数名的顺序。 比如下面的例子就不构成函数重载。 C++ 支持函数重载的本质,其实是因为 C++ 特殊的函数名修饰规则。 我们知道 C 语言

    2024年02月15日
    浏览(33)
  • 【C++】函数重载及引用

    目录 一、函数重载  1、函数重载的概念  2、名字修饰 二、引用  1、引用概念  2、引用特性  3、常引用  4、引用的使用场景    4.1 做参数    4.2 做返回值  5、传值、传引用效率比较  6、引用和指针的区别 函数重载: 是函数的一种特殊情况,C++允许在 同一作用域中 声明

    2024年02月10日
    浏览(37)
  • 函数重载和引用【C++】

    函数重载: 重载函数是函数的一种特殊情况。 为方便使用,C++允许在 同一作用域 中声明几个功能类似的 同名 函数,但是这些同名函数的形式参数(指1.参数的个数 2.类型 3.顺序)必须 至少有一个 不同 根据这些同名函数的参数表的不同, 达成传入参数类型不同,调用的函

    2024年04月08日
    浏览(54)
  • 『C++成长记』C++入门—— 函数重载&引用

     🔥 博客主页: 小王又困了 📚 系列专栏: C++ 🌟 人之为学,不日近则日退  ❤️ 感谢大家点赞👍收藏⭐评论✍️ 目录 一、函数重载 📒1.1函数重载的概念 📒1.2函数重载的种类 📒1.3 C++支持函数重载的原理 二、引用 📒2.1引用的概念 📒2.2引用的特性 📒2.3引用的使用场

    2024年02月08日
    浏览(41)
  • 【C++初阶】C++入门——缺省参数、函数重载

     缺省参数是 声明或定义函数时为函数的参数指定一个缺省值 。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。  上面代码在 fun 函数的形参部分给了缺省值10,这意味着在调用 fun 函数的时候可以传参,也可以不传参,如果传参了那形参

    2024年02月11日
    浏览(37)
  • 【C++】入门 --- 缺省参数&函数重载

    缺省参数是声明或定义函数时 为函数的参数指定一个缺省值 。 在调用该函数时, 如果没有指定实参则采用该形参的缺省值 ,否则使用指定的实参。 🌰举个栗子👇 🚨 注意: 缺省值(函数形参的默认值)不能同时在函数声明和函数定义中给出(缺省参数不能在函数声明和定义

    2024年02月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包