【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书)

这篇具有很好参考价值的文章主要介绍了【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书),《C++干货基地》,c++,开发语言,机器学习,算法

🎬 鸽芷咕:个人主页

 🔥 个人专栏: 《C++干货基地》《粉丝福利》
⛺️生活的理想,就是为了理想的生活!

引入

  哈喽各位铁汁们好啊,我是博主鸽芷咕《C++干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的城市有没有这种实惠又全面的零食基地呢?C++ 本身作为一门篇底层的一种语言,世面的免费课程大多都没有教明白。所以本篇专栏的内容全是干货让大家从底层了解C++,把更多的知识由抽象到简单通俗易懂。

⛳️ 推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

一、C++的输入输出

每当我们学习一个函数的时候,最首先学习的就是输入和输出那么我们来看看C++是如何来像这个世界打个招呼吧!

1.1 cout 输出函数

在C++ 中的输入函数做了新的升级而且在以往我们 写C语言的时候每个类型的变量都要书写函数类型过于玛法了所以在 C++ 输出是自动识别类型的:

  • cout 中的 Cconsole 控制台的意思:
  • cout 就代表 输出到控制台

🍸 代码演示:

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int main()
{
	int b= 10;
	double x = 1.11;
	char a = 'h';

	cout << b <<"\n";
	cout << x << endl;
	cout << a << endl;

	return 0;
}

这里补充一下,C++在开发出来的时候本贾尼博士觉得写 “\n” 来进行换行台麻烦了所以:

  • 在C++ 中换行是 endl
  • endl 代表的英文意思是
  • end 代表结束, lline 行的意思,结束这一行就是换行的意思

1.2 <<流插入 & >> 流提取

在C++中 <<是流插入运算符,>>是流提取运算符。同时C++也兼容

  • C语言中 << 左移操作符 >> 右移动操作符

🍸 代码演示:

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int main()
{
	int a = 100;
	a = a << 1;

	cout << a << endl;
	return 0;
}

1.3 cin 输入函数

cin 是C++ 中的输入函数,和 cout 一样都是 ostream和istream类型的对象,需要我们搭配流提取操作符一起使用:

🍸 代码演示:

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int main()
{
	int a = 0;

	cin >> a;
	cout << a << endl;
	return 0;
}

二、缺省函数

缺省函数 又叫 默认参数 听名字其实就能大概猜出来是什么意思,其实就是当我们没有给函数参数传递值的时候就使用我们赋予的缺省值/默认值。

2.1 缺省函数的概念

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实
参则采用该形参的缺省值,否则使用指定的实参。

🍸 代码演示:

void Func(int a = 0)
{
 cout<<a<<endl;
}
int main()
{
 Func();     // 没有传参时,使用参数的默认值
 Func(10);   // 传参时,使用指定的实参
return 0;
}

2.2 缺省函数的分类

2.2.1 全缺省函数

全缺省函数就是函数的全部形参给了缺省值或者默认值

🍸 代码演示:

void Func(int a = 10, int b = 20, int c = 30)
 {
     cout<<"a = "<<a<<endl;
     cout<<"b = "<<b<<endl;
     cout<<"c = "<<c<<endl;
 }

2.2.2 半缺省函数

半缺省函数就是只给部分缺省值, 但是半缺省参数必须从右往左依次来给出,不能间隔着给

  • 这是因为隔着给参数的话编译器并不能自动识别到底是使用缺省参数还是不使用
  • 如果全给了就完全没有意义隔着给了

📑 错误展示:

void fun(int a = 10, int x , int y = 10)
{

}

int main()
{
	fun(1);
	return 0;
}

这里的1究竟是想给 x 还是 a 呢?如果写俩个那么隔着写的意义再哪里呢?

🍸 代码演示:

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

缺省函数其实在实际范围应用非常的广泛,让函数的用法更加灵活我们可以传一个参数也可以或者传2个参数也可以

  • 比如说我们在对栈开辟空间时候就会遇到好几种情况以往我们都是默认先开辟4个而现在

🍸 代码演示:

#include<iostream>
#include"Stack.h"
using namespace std;

int main()
{
	struct Stack st1;

	// 1、确定要插入100个数据
	StackInit(&st1, 100);  

	// 2、只插入10个数据
	struct Stack st2;
	StackInit(&st2, 10);

	// 3、默认插入
	struct Stack st3;
	StackInit(&st3);
	return 0;
}

2.2.3 缺省函数的注意事项

  • 1. 半缺省参数必须从右往左依次来给出,不能间隔着给
  • 2. 缺省参数不能在函数声明和定义中同时出现

还有一个很重要的一点是当函数声明和定义分离的时候,应在声明中去声明缺省函数,定义中不能进行同时声明缺省函数

2.2.4 函数声明和定义分离,缺省函数只能在声明定义

为什么函数声明和定义分离,缺省函数只能在声明定义呢?其实第一个原因是因为

  • 🌱 缺省函数在声明和定义分离的时候特别容易写错
  • 🌱 还有一个很大的原因是因为从编译原理上面来看

【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书),《C++干货基地》,c++,开发语言,机器学习,算法
源文件在进行编译的时候就会出现,如果我们不在缺省函数只能在 声明定义 缺省函数的话

  • 程序在 编译的时候就会被检查语法拦截住了
  • 预处理是把 头文件展开 而头文件里面我们没有声明缺省函数参数 又没有写语法上就直接错误了

📑 错误示范:
【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书),《C++干货基地》,c++,开发语言,机器学习,算法

三、函数重载

在C++ 里面还对函数做了新的升级,函数重载,即一个函数名可以根据参数类型不同拥有多个功能:

  • 这在C语言中是绝对不支持的那么怎么样才算函数重载呢?

3.2 函数重载概念

函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型不同的问题。

在C++中,只要函数名相同,函数参数不同就可以构成重载

  • 🌱 函数参数类型不同
#include<iostream>
using namespace std;
// 1、参数类型不同
int Add(int left, int right)
{
	cout << "int Add(int left, int right)" << endl;
	return left + right;
}
double Add(double left, double right)
{
	cout << "double Add(double left, double right)" << endl;
	return left + right;
}

int main()
{
	Add(10, 20);
	Add(10.1, 20.2);
}
  • 🌱 函数个数不同
#include<iostream>
using namespace std;
// 2、参数个数不同
void f()
{
	cout << "f()" << endl;
}
void f(int a)

int main()
{
	f();
	f(10);
}
  • 🌱 参数顺序不同(本质上还是参数类型不同)

🍸 代码演示:

#include<iostream>
using namespace std;
// 3、参数类型顺序不同
void f(int a, char b)
{
	cout << "f(int a,char b)" << endl;
}
void f(char b, int a)
{
	cout << "f(char b, int a)" << endl;
}
int main()
{
	f(10, 'a');
	f('a', 10);
	return 0;
}

四、推荐图书

4.1 作者推荐

《图解算法:使用C++(视频教学版)》采用C++语言演绎算法思维,帮助读者轻松理解数据结构及其算法的设计,即使是零基础的读者也能快速上手编程。 通过丰富的图例,《图解算法:使用C++(视频教学版)》简明地阐述了算法的基础概念,并提供了实际的例子来进一步说明。同时,强调了程序设计逻辑,以C++语言实现各种算法在程序设计领域的应用。 书中设计了难易适中的习题,可以帮助读者进一步演练和验收学习效果。此外,还提供了精心录制的教学视频,为读者提供更加全面的学习支持。《图解算法:使用C++(视频教学版)》力求化繁为简,即使是编程小白也能轻松读懂。作为一本轻量级的算法书,它是提高程序设计水平、提升个人价值的**投资。

【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书),《C++干货基地》,c++,开发语言,机器学习,算法

4.2 图书目录

目    录

第1章  进入算法的世界 1

1.1  计算思维 2

1.1.1  分解 3

1.1.2  模式识别 4

1.1.3  模式概括与抽象 4

1.1.4  算法 5

1.2  计算思维的脑力大赛 6

1.2.1  三分球比赛灯记录器 6

1.2.2  图像字符串编码 7

1.2.3  计算机绘图指令实践 7

1.2.4  炸弹超人游戏 8

1.3  生活中处处都存在算法 8

1.3.1  算法的条件 9

1.3.2  时间复杂度O(f(n)) 11

1.4  课后习题 132章  经典算法介绍 14

2.1  分治法 14

2.2  递归法 15

2.3  贪心法 18

2.4  动态规划法 19

2.5  迭代法 21

2.6  枚举法 23

2.7  回溯法 29

2.8  课后习题 353章  常用数据结构 36

3.1  认识数据结构 37

3.2  常见的数据结构 39

3.2.1  数组 39

3.2.2  链表 42

3.2.3  堆栈 43

3.2.4  队列 44

3.3  树结构简介 44

3.3.1  树的基本概念 45

3.3.2  二叉树 46

3.4  图论简介 47

3.5  哈希表 49

3.6  课后习题 504章  排序算法 52

4.1  认识排序 52

4.1.1  排序的分类 53

4.1.2  排序算法分析 53

4.2  冒泡排序法 54

4.3  选择排序法 58

4.4  插入排序法 61

4.5  希尔排序法 63...

购买链接

京东链接: https://item.jd.com/

五、粉丝福利

  • 参与方式:关注博主、点赞收藏评论,任意评论(每人最多评论三次)

  • ⛳️本次送书1~3取决于阅读量,阅读量越多,送的越多

  • 📆 活动时间至:2023-1-28 10:00:00 | 随机抽取由博主动态公布抽奖结果

如有特别需要的同学可添加博主微信进入粉丝福利群发放福利哦!

🔥 注:活动结束后,会私信中奖粉丝的,各位注意查看私信哦!

⛳️ 文章末尾扫码加入粉丝群,不定期发放粉丝福利,各种专业书籍免费赠送

📝文章结语:

☁️ 看到这里了还不给博主扣个:
⛳️ 点赞🍹收藏 ⭐️ 关注
💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖
拜托拜托这个真的很重要!
你们的点赞就是博主更新最大的动力!

【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书),《C++干货基地》,c++,开发语言,机器学习,算法文章来源地址https://www.toymoban.com/news/detail-824521.html

到了这里,关于【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【C++深入浅出】初识C++上篇(关键字,命名空间,输入输出,缺省参数,函数重载)

         目录 一. 前言 二. 什么是C++ 三. C++初探 四. 命名空间 4.1 为什么要引入命名空间 4.2 命名空间的定义 4.3 命名空间使用 五. C++的输入输出 六. 缺省参数 6.1 缺省参数的概念 6.2 缺省参数的分类 七. 函数重载  7.1 函数重载的概念 7.2 函数重载的条件 7.3 C++支持函数重载

    2024年02月13日
    浏览(181)
  • 【C++初阶】C++基础(上)——C++关键字、命名空间、C++输入&输出、缺省参数、函数重载

    目录 1. C++ 2. 命名空间 2.1 命名空间的定义 2.2 命名空间的使用 3. C++输入输出 4. 缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 5. 函数重载 5.1 函数重载概念 5.2 C++支持函数重载的原理——名字修饰(name Mingling) 5.3 extern \\\"C\\\" ❀❀❀ 没有坚持的努力,本质上并没有多

    2024年02月15日
    浏览(58)
  • 【C++干货基地】面向对象核心概念 const成员函数 | 初始化列表 | explicit关键字 | 取地址重载

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活!   哈喽各位铁汁们好啊,我是博主鸽芷咕《C++干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的城市有没有这种实惠又全面的零食基地呢?C++ 本身作

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

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

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

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

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

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

    2024年02月11日
    浏览(37)
  • 【C++学习】C++入门 | 缺省参数 | 函数重载 | 探究C++为什么能够支持函数重载

    上一篇文章我介绍了C++该怎么学,什么是命名空间,以及C++的输入输出, 这里是传送门:http://t.csdn.cn/Oi6V8 这篇文章我们继续来学习C++的基础知识。 目录 写在前面: 1. 缺省参数 2. 函数重载 3. C++是如何支持函数重载的 写在最后: 在学习C语言的时候,如果一个函数存在参数

    2024年02月13日
    浏览(48)
  • C++之入门之缺省参数&&函数重载&&引用

    重新拿起曾经尚未填的C++的坑,从现在我会继续更新C++的相关内容,希望各位能够支持 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实 参则采用该形参的缺省值,否则使用指定的实参 (1)全缺省参数 (2)半缺省参数 (1)半

    2023年04月15日
    浏览(41)
  • C++入门 上(命名空间 缺省参数 函数重载)

    在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace的出现就是针对这种问题的。 定义命名空间

    2024年02月19日
    浏览(46)
  • 【C++入门 三】学习C++缺省参数 | 函数重载 | 引用

    缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。 ①全缺省参数 ②半缺省参数 注意: 1. 半缺省参数必须从右往左依次来给出,不能间隔着给 2. 缺省参数不能在函数声明和定义中

    2024年02月06日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包