前言:
很高兴,从今天开始,我们就要步入C++的学习了,在这之前我们已经对C语言有了不错的了解,对数据结构也有了一些自己的认识,今天开始,我们就进入这个新的主题的学习——C++
目录
C++是贝尔实验室在1979年开发出来的,它是在C语言的基础上开发出来的一门新的计算机语言,所以它有着C语言的一些特点,同时又有许多创新的地方,简单来说,C语言是面向过程的,而C++则是面向对象的,C++的实现在很多时候是要比C语言方便很多的
今天,我们就先来浅浅学习一下C++的一些基本用法
C++是在C语言的基础上发展而来的,它是完全兼容C语言的,也就是说,你在一个cpp文件里,写一个C语言的代码还是可以正常运行的,但作为一个更先进的语言它又有了一些创新,下面我们给出它的关键字,暂时先不做讲解,等以后遇到再慢慢学习
从这张表格中我们就可以看出,C语言的关键字在C++中还是全部适用的
C语言的使用上还有一个很大的不利,就是命名空间上,因为它命名的变量一般都是全局变量,就让许多方面变的极为不利
比如,当处理一个大型项目时,我们一般会让多个小组分工实现,每个小组写一段代码,然后再整合到一起,但这就容易导致一个现象出现,那就是命名冲突,可能不同的小组对不同的变量命名了同一个名,然后导致程序不能运行,还要后期继续去改进,这样就很麻烦,所以我们C++就有了命名空间这个概念出现,用来解决这个问题
定义命名空间需要用到一个关键字:namespace
具体做法:在namespace后面加上{ },然后在里面定义变量
- namespace zwt //后面这个可以自定义名字,随便即可
- {
- //命名空间中可以定义变量/函数/类型
- int a=0;
- int b=1;
-
- int Add(int x, int y)
- {
- return x + y;
- }
-
- struct Stack
- {
- int* c;
- int capacity;
- };
- }
比较有趣的是,我们可以同时命名多个相同名字的空间,最后这些命名空间中的对象会进行整合,相当于命名在同一个空间中
命名空间的使用有三种方法:
1、加命名空间名称及作用域限定符
- int main()
- {
- printf("%d", zwt::a);
- return 0;
- }
- //2、使用using将命名空间中某个成员引入
- using zwt::a;
- int main()
- {
- printf("%d\n", a);
- printf("%d\n", zwt::b);
- return 0;
- }
3、使用using namespace 命名空间名称 引入
- //3、使用using namespace 命名空间名称 引入
- using namespace zwt;
- int main()
- {
- printf("%d\n", a);
- printf("%d\n", b);
- return 0;
- }
C++的输入输出与C语言也有很大不同,C++的输入输出函数是定义在std命名空间中的,为了方便,我们一般会在用之前就用using进行展开,下面我们直接通过一段代码来看
- #include
//C++输入输出所需的头文件 - using namespace std;
- int main()
- {
- int a = 0;
- //C++输入函数为cin
- cin >> a;
- //C++输出函数cout
- cout << a << endl;
-
- return 0;
- }
运行结果:
缺省参数就是在函数声明和定义的时候,直接给形参赋一定的值,然后在调用这个参数的时候,就可以不用传参或者传部分参数,比如:
- void Func(int a = 10, int b = 20)
- {
- cout << a << endl;
- cout << b << endl;
- }
- int main()
- {
- Func();
- Func(1, 2);
- return 0;
- }
代码中的这两种调用方式都是没问题的,只是输出结果不同,下面我们就来详细讲解一下这几种调用的区别
- void Func(int a = 10, int b = 20)
- {
- cout << a << endl;
- cout << b << endl;
- }
- int main()
- {
- Func();
- return 0;
- }
- void Func(int a = 10, int b = 20)
- {
- cout << a << endl;
- cout << b << endl;
- }
- int main()
- {
- Func(1,2);
- Func(1);
- return 0;
- }
缺省参数注意事项:
1、缺省参数必须依次给出,不能间隔给出
2、缺省参数声明和定义不能分开,尤其是不能分开在两个文件中
3、缺省参数必须是常量或者全局变量
4、缺省参数在C语言中不支持
以上就是我们对C++的初步讲解,讲解内容并不多,意在让大家慢慢接受理解,接下来我们就会慢慢扩大知识面,在以后会有更多有趣的知识点等着我们去学习,继续前进吧
创作不易,还请各位大佬点赞支持一下!!!