首页 > 编程语言 >c++入门基础后续

c++入门基础后续

时间:2024-11-17 15:16:49浏览次数:3  
标签:入门 int 函数 缺省 c++ 缺省值 参数 别名 后续

1.缺省参数

缺省参数是指在声明或定义的同时给上指定的一个缺省值,在调用函数是如果没有传指定的实参那么就会用这个缺省值。缺省参数分为全缺省和半缺省。

全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值。C++规定半缺省参数必须从右往左 依次连续缺省,不能间隔跳跃给缺省值。 带缺省参数的函数调⽤,C++规定必须从左到右依次给实参,不能跳跃给实参。 函数声明和定义分离时,缺省参数不能在函数声明和定义中同时出现,规定必须函数声明给缺省 值

#include <iostream>
using namespace std;
// 全缺省
void Func1(int a = 10, int b = 20, int c = 30)
{
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "c = " << c << endl << endl;
}
// 半缺省
void Func2(int a, int b = 10, int c = 20)
{
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "c = " << c << endl << endl;
}
int main()
{
Func1();
Func1(1);
Func1(1,2);
Func1(1,2,3);
Func2(100);
Func2(100, 200);
Func2(100, 200, 300);
return 0;
}

2.函数重载

c++中支持在同一作用域中出现同函数名,但是要求这些函数的形参不同

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;
}
// 2、参数个数不同
void f()
{
cout << "f()" << endl;
}
void f(int a)
{
cout << "f(int a)" << endl;
}
// 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;
}
// 返回值不同不能作为重载条件,因为调⽤时也⽆法区分
//void fxx()
//{}
//
//int fxx()
//{
// return 0;
//}
// 下⾯两个函数构成重载
// f()但是调⽤时,会报错,存在歧义,编译器不知道调⽤谁
void f1()
{
cout << "f()" << endl;
}
void f1(int a = 10)
{
cout << "f(int a)" << endl;
}
int main()
{
Add(10, 20);
Add(10.1, 20.2);
f();
f(10);
f(10, 'a');
f('a', 10);
return 0;
}

3.引用

引用不是新定义一个变量,而是给变量取了一个新的变量名,编译器不会为他开辟新的空间,而是公用一个变量名,就比如三国演义里,刘备和刘玄德是同一个人一样。

int main()
{
int a = 0;
// 引⽤:b和c是a的别名
int& b = a;
int& c = a;
// 也可以给别名b取别名,d相当于还是a的别名
int& d = b;
++d;
// 这⾥取地址我们看到是⼀样的
cout << &a << endl;
cout << &b << endl;
cout << &c << endl;
cout << &d << endl;
return 0;
}

标签:入门,int,函数,缺省,c++,缺省值,参数,别名,后续
From: https://blog.csdn.net/qwer55588/article/details/143832805

相关文章

  • C++仍要用的scanf函数介绍
    很多C++初学者刚学便是使用cin和cout,这无可厚非;但C语言中的scanf函数在一些特定情况下仍必不可少,故写给C++初学=者scanf函数的部分介绍以及具体使用情景。scanf输入数字的用法头文件:#include<cstdio> 调用格式:scanf(格式控制字符串,变量地址列表);注:格式说明和各输入......
  • 平板电视从入门到精通
    先来看一道大家基本都能默写出来的题目:您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入一个数\(x\)。删除一个数\(x\)(若有多个相同的数,应只删除一个)。定义排名为比当前数小的数的个数\(+1\)。查询\(x\)的排名。查询数据结构中排名为\(x\)的......
  • CSP/信奥赛C++语法基础刷题训练(11):洛谷P5743:猴子吃桃
    CSP/信奥赛C++语法基础刷题训练(11):洛谷P5743:猴子吃桃题目描述一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;接下来的每一天它都会吃剩余的桃子的一半外加一个。第n......
  • CSP/信奥赛C++语法基础刷题训练(12):洛谷P1047:[NOIP2005 普及组] 校门外的树
    CSP/信奥赛C++语法基础刷题训练(12):洛谷P1047:[NOIP2005普及组]校门外的树题目描述某校大门外长度为lll的马路上有一排树,每两棵相邻的树之间的间隔都是......
  • 【华为OD技术面试手撕真题】84、前 K 个高频元素 | 手撕真题+思路参考+代码解析(C & C+
    文章目录一、题目......
  • C++因子个数
    目录1.题目描述2.输入输出3.样例输入 Copy样例输出 Copy1.题目描述一个自然数N的正因子个数记为F(N),例如18的所有正因子为1、2、3、6、9、18,所以F(18)=6。现在给出K,求所有满足F(N)=K的N中最小的数。2.输入从文件读入数据,第一行为K,其中0<K≤80。输出......
  • 【C++】引用
    目录引用的概念引用的特点引用定义时必须初始化引用的类型必须与被引用对象的类型相同一个变量可以设置多个引用引用只能对应一个实体引用有传递性赋值与引用的区别引用作参数引用作参数-利用引用的变量共同指向同一块内存空间交换两个变量传递单链表节点指针引......
  • GESP2023年12月认证C++四级( 第一部分选择题(11-15))
    ......
  • GESP2023年12月认证C++四级( 第二部分判断题(1-5))
    ......
  • MyBatis封装成工具类:入门大学生的极限
    第一篇SDN文章,也不咋会写。这是自己总结了很久才实现的。废话少说直接上代码。我得先研究一下代码咋弄上来。欧克。找到了。那么展示。这是是主工具java类:publicclassMybatisTool{//构造方法私有化privateMybatisTool(){}//静态内部类privates......