C/C++基础----引用、重载、缺省

引用

  引用就像给一个变量取别名。对引用的变量进行操作,实际上操作的就是原来的变量。这在通过函数传递参数时相较于指针提供了便利。

#include<iostream>
#include<stdio.h>
//通过引用改变变量地值
void test(int &x)
{
	x = 20;
}
//通过引用改变指针的值
void test_pointer(int * &x)
{
	x = (int *)malloc(sizeof(int)*1);
}

int main()
{
	//引用的用法,引用相当于给一个变量取别名
	int y = 10;
	int &w = y;
	w = 20;
	printf("y is %d, w is %d \n", y, w);

	printf("-----------------------------\n");

	int x = 10;
	printf("x is %d \n", x);
	test(x);
	printf("x is %d \n", x);
	
	printf("-----------------------------\n");
	
	int * p = NULL;
	printf("p is pointing to %p \n",p);
	test_pointer(p);
	printf("p is pointing to %p \n", p);
	getchar();
	return 0;
}

在这里插入图片描述

重载

  重载的作用是来解决函数重名的。两个同名函数,当其参数列表的个数和类型不同时,可以说这两个函数是重载关系。

#include<iostream>
#include<stdio.h>

int add(int a, int b) 
{
	return a + b;
}

float add(float a, float b) 
{
	return a + b;
}

int main()
{
	printf("a add b is(int) %d \n", add(10, 11));
	printf("a add b is(flaot) %.1f \n", add(10.1f, 11.1f));
	getchar();
	return 0;
}

在这里插入图片描述
  从上面这段代码可以看出,定义了两个重名函数add,在main函数中对这两个重名函数进行了调用。通过调用的参数不同,编译器能够识别出来对应调用的函数。需要注意的是,在重载的时候,是根据同名函数的参数来进行重名函数的调用的。

缺省

  缺省就是函数的形参列表中,给出默认值,这样在进行函数调用时,当没有对函数进行参数传递时,在函数中的形参也能有一个默认值。

#include<stdio.h>
#include<iostream>

int add(int a = 0, int b = 0, int c = 10) 
{
	return (a + b + c);
}
int add_a(int a , int b , int c = 10)
{
	return (a + b + c);
}
int main()
{
	printf(" %d \n", add(10, 11));
	printf(" %d \n", add(5, 6, 7));
	getchar();
	return 0;
}

在这里插入图片描述
  函数缺省参数需要按照一定的排列顺序,缺省参数应该从函数的新参列表从右向左排列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值