C++入门篇笔记整理-----第一篇

C++入门篇笔记整理-----第一篇,第1张

文章目录
    • 命名空间
    • C++的输入和输出
    • C++的缺省(默认)参数
    • 函数重载

命名空间

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

例如下面这个程序:

#include
#include

int rand = 0;   //rand()是随机数生成的函数
int main()
{	
	printf("%d\n", rand);
	return 0;
}

命名空间的定义

//普通的命名空间
namespace chen1
{
	int a = 0;
	int b = 1;
	int Add(int x, int y)
	{
		return x + y;
	}
}

//命名空间可以嵌套
namespace chen2
{
	int a = 5;
	int b = 10;
	int Sub(int x, int y)
	{
		return x - y;
	}
	namespace chen3
	{
		int a = 100;
		int b = 200;
	}
}

//命名空间是可以同名的,编译器最后可以合成到同一个命名空间中
namespace chen1
{
	char ch = 'c';
}

如何使用命名空间呢?

方法1:加命名空间名称(例如上面的chen1,chen2)和作用域限定符(::)

int main()
{
	//printf("%d\n", a); // 这里会报错
	printf("%d\n", chen1::a); //正确使用方式
	return 0;
}

方法2:使用using关键字将命名空间中的成员引入

using chen1::b;   //可以理解为用using将命名空间chen1中的b放出来
int main()
{
	printf("%d\n", chen1::a);
	printf("%d\n", b);
}

方法3:直接将命名空间引用

using namespace chen1;    //就是将命名空间chen1放出来
 
int main()
{
	printf("%d\n", a);
	printf("%d\n", b);
	printf("%d\n", Add(1, 2));
	return 0;
}
C++的输入和输出

cout 是标准输出(控制台)
cin 是标准输入 (键盘)
使用必须包含头文件 <>和放出标准命名空间std

#include
using namespace std;

int main()
{
    
	cout << "hello world" << endl;   //endl 就是换行符'\n'
	cout << "hello world" << '\n';
}

C++是没有格式输入输出的控制的 例如 %d,%f等等

int main()
{
	int a = 0;
	double d = 0;
	
	cin >> a >> d;

	cout << a<<' ';
	cout << d<<endl;
	return 0;
}
C++的缺省(默认)参数

可以把这个想象成备胎-----哈哈哈哈


如果传参了,就使用传参的值。

全缺省参数:
这个test1就是,意思就是全部缺省(默认)

void test1(int a = 10, int b = 20, int c = 30)
{}
int main()
{
	test1();
	return 0;
}

半缺省参数:这个就是部分缺省,但是要注意一下,只能从右向左缺省,不能间隔

void test2(int a, int b = 2, int c = 3)
{
	cout << a << b << c << endl;
}
int main()
{
	test2(1);  //因为a不是缺省,所以至少传一个值
	return 0;
}

函数的声明和定义不能同时缺省,即使缺省的参数值相同
下面仍旧会报错

//.h头文件中
void test4(int a  = 10);

//.cpp源文件 
void test4(int a =10 )
{
	cout << a << endl;
}

声明缺省,定义不缺省是正确的

//.h头文件中
void test4(int a  = 10);

//.cpp源文件 
void test4(int a )
{
	cout << a << endl;
}

这个定义的缺省没有意义,因为调用的时候必须传值(全缺省)

//.h头文件中
void test4(int a  );

//.cpp源文件 
void test4(int a = 10)
{
	cout << a << endl;
}
函数重载

什么是函数的重载?
C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的
形参列表(参数个数 或 类型 或 顺序)必须不同

正确的重载

int Add(int x, int y)
{
	return x + y;
}

double Add(double x, double y)
{
	return x + y;
}

int Add(int x, double d)
{
	return 1;
}

int Add(double x, int d)
{
	return 1;
}

错误的重载

int Add(int x, int y)
{
	return x + y;
}

int Add(int y, int x)
{
	return x + y;
}


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

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

如何快速理解重载?
很简单,只要输入的时候,因为类型,顺序,个数这些原因
会调用一 一对应的函数就是重载

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/786032.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-04
下一篇2022-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存