c++入门

1.命名空间

2.缺省函数

3.函数重载

      1.命名空间使用namespace 关键字,主要用于解决命名冲突。命名空间可以定义变量,函数,类型,分为全部展开和部分展开:using namespace+名(全部展开),using+名::变量/函数/类型(部分展开)。

      提示std是c++标准库的命名空间,使用using namespace std时,可以直接使用cout 和cin,否则还需要写std::cin/cout。

#include<iostream>
using namespace std;
namespace bit
{
	// 命名空间中可以定义变量/函数/类型
	int rand = 10;

	int Add(int left, int right)
	{
		return left + right;
	}

	struct Node
	{
		struct Node* next;
		int val;
	};

	namespace xxx
	{
		int rand = 1;
	}
}
using namespace bit;//全部展开
using bit::Add;//部分展开
int main()
{
	printf("%d\n", bit::rand);
	printf("%d\n", bit::Add(1,2));
	struct bit::Node node;
	
	return 0;
}

       2.缺省函数是指在函数调用时,未传递相应参数时使用的默认值。当定义一个函数时,可以为一个或多个参数指定默认值。

       注意:给缺省值时必须从右往左;不允许声明和定义同时给缺省参数,只能在声明给,定义不给。

int ADD1(int a = 1, int b = 2, int c = 3)
{
	return a + b + c;
}
int ADD2(int a, int b, int c=1)
{
	return a + b + c;
}
int ADD3(int a, int b, int c)
{
	return a + b + c;
}
int main()
{
	cout << ADD1() << endl;
	cout << ADD1(1, 1, 1) << endl;
	cout << ADD1(1) << endl;
	cout << ADD1(1, 1) << endl;
	cout << ADD2(1, 1, 1) << endl;
	//cout << ADD2() << endl;//错误
	cout << ADD3(1, 1, 1) << endl;
	return 0;
}

       3.函数重载是指多个同名函数定义,这些函数的参数不同(类型不同,个数不同,顺序不同)。在编译器中,使用函数名修饰区别相同函数名的函数,较为复杂,不展开,并且不同的编译器的函数名修饰规则不同。

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()
{
	cout << Add(1, 1) << endl;
	cout << Add(1.1, 1.1) << endl;

	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sakura&NANA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值