C++入门知识(一)

时间:2022-07-24
本文章向大家介绍C++入门知识(一),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

//1.普通命名空间
namespace N1//N1为命名空间的名称
{
	// 命名空间中的内容,既可以定义变量,也可以定义函数
	int a = 10;
	int Add(int left, int right)
	{
		return left + right;
	}
	namespace N2			//2.命名空间中还可以再命名
	{
		int c = 10;
		int max(int x, int y)
		{
			if (x > y)
			{
				return x;
			}
			else
				return y;
		}
	}
}
			//3. 同一个工程中允许存在多个相同名称的命名空间
			//   编译器最后会合成同一个命名空间中。
namespace N1
{
	int max(int x, int y)
	{
		if (x > y)
		{
			return x;
		}
		else
			return y;
	}
}

一个命名空间定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中 2.命名空间的使用

①命名空间名称::变量
int main()
{
	printf("%d", N1::a);
    system("pause");
	return 0;
}
②using namespace 命名空间名称
//using namespace N1;
③using  命名空间名称::变量
using N1::a;
int main()
{
	printf("%d", a);
	system("pause");
	return 0;
}

二、C++输入&&输出 说明: 1. 使用cout标准输出(控制台)和cin标准输入(键盘)时,必须包含< iostream >头文件以及std标准命名空间。 2. 使用C++输入输出更方便,不需增加数据格式控制

#include<iostream>
using namespace std;
namespace N1
{
	int a =10;
}
using namespace N1;
int main()
{
	int b=0;
	cin>>b>>endl;
	cout<<a<<endl;
	cout<<b<<endl;
	return 0;
}

输出结果:

三、缺省参数 1.什么是缺省参数? 在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。 2.缺省参数使用规则 ①带缺省值的参数必须放在参数表的最后面。 ②缺省值必须是常量。 ③缺省参数必须通过值参或常参传递。 例:

#include<iostream>
using namespace std;
int sum(int a = 1, int b = 1, int c = 1)
{
	return (a + b + c);
}
int main()
{
	cout << sum() << endl;
	cout<<sum(10)<<endl;
	cout<<sum(10, 8)<<endl;
	cout << sum(10, 8, 6) << endl;
	system("pause");
	return 0;
}

输出结果为:

当不传入实参是就用缺省函数中的数据进行运算。 四、函数重载 1.什么是函数重载? C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。 2.两个重载函数必须在下列一个或两个方面有所区别: ①函数的参数个数不同。 ②函数的参数类型不同或者参数类型顺序不同。 例:

#include<iostream>
using namespace std;
int sum(int a = 1, int b = 1, int c = 1)
{
	return (a + b + c);
}
int add(int a, int b)
{
	return (a + b);
}
double add(double a, double b)
{
	return (a + b);
}
int main()
{
	cout << add(10, 8) << endl;
	cout << add(10.8, 8.2) << endl;
	system("pause");
	return 0;
}

输出结果为:

两个函数名定义一致,接收实参类型不同,所以会选择不同的函数进行运算。