C++精讲系列1

C++的知识点并不比C语言少

学C/C++都可以关注我

如果从零开始讲解有些困难

通过具体的项目教大家学习编程

让我们跟着项目走

相信你一定能够迅速掌握最实用的C++技巧

希望大家在初步学习C++之后再来学习这个系列

一定会让你爱上C++编程

C++的价值

C++精讲系列1

各种程序设计语言

在这里我们用最简单的方式阐述一下究竟为什么C++比C语言高级。从功能的角度讲,用C++写的程序C语言也能够实现。那么C++究竟高级在哪儿呢?它就高级在引入了更加人性化的编程方式。

人们常说C是面向过程的语言,而C++在此基础上引入了面向对象和泛型两种全新的编程方式。而这两种新的编程方式更加接近我们现实中解决问题的思想,因此C++更好用一些。

编程语言高下之争一直是业内一个主要争论话题,多年以来从未停止。随着各种新语言的诞生,参加争论的派系也越来越多。

其实,我们大可不必纠结于语言,所有的语言都是为程序员服务的,解决现实中的问题才是我们最终的目的。所以,语言没有高下之分,只不过是使用语言的人参差不齐而已。

在我们学习C++时,千万不要把它和C语言分割开来,我们要把C++想象成为C语言的一个扩展,所有C语言的东西在这里都能继续使用。

创建C++项目

我们用Visual Studio来创建一个标准的控制台程序工程。创建过程请参考。与C语言项目的唯一区别是新建文件时要以cpp为后缀名。

第一段C++代码

我们在新创建的main.cpp文件中加入下面这段C++代码:

C++精讲系列1

这是一个最基本的标准的C++源代码,在屏幕上打印“Hello World!”语句。大体上看和C语言的区别不大。我们来看看几个细节上的不同。

1. 头文件

C++的标准输入输出库不再是stdio.h,而是iostream。需要注意的是这里用的是<>而不是“”。原因我们在C语言教程中讲过了。值得注意的是,C++的标准库引用不需要加后缀名。

2. 命名空间

using namespace std;

这句话看着比较陌生。

C++中引入了命名空间的概念,std就是一个常用的命名空间。有了这行代码,后面的string和cout关键字才能正确被引用。如果没有这句话,我们在使用是需要这样写。

C++精讲系列1

“::”这个符号叫做域运算符,能够帮助我们引用某个命名空间下的任意关键字。

3. string类

C++一个非常大的进步是拥有了string类(字符串类),它能帮助我们处理最常用的字符串数据类型。

在《21天C语言代码训练营》中,我们通过C语言自己实现了一个string类型来管理字符串,如今这个工作C++标准库已经帮我们做好了。

4. 标准输入输出

在C++中,我们用cout和cin进行标准输入输出。它们代替了printf和scanf。具体的用法我们会在使用中慢慢了解。

Visual Studio代码调试

C++精讲系列1

Visual Studio

下面我们来运行一下前面这段代码。

1. 快捷键F6

这个快捷键的作用是编译项目中的全部代码。如果要看看有没有语法错误,就直接按这个键。

PS:如果在安装过程中,VS发现这个快捷键有冲突,也许会自动调整成别的键。在BUILD菜单中能够查看到这个快捷键。

2. 快捷键F5

调试运行代码。如果源代码没有编译,它会先进行编译之后运行。执行过程中,遇到断点会停下来。

3. 快捷键F9

增加或删除断点,方便调试。不要问我什么是断点,在C语言学习中你就该知道的。

4. 快捷键F10,F11

这两个快捷键负责单步调试,就是按一下执行一句话。前者遇到函数调用一次执行完,后者遇到函数调用会进入函数内部单步执行。

在调试代码时,这两个键非常有用。

5. 快捷键Ctrl + F5

忽略断点执行。就是不在断点处停下直接执行结束。

现在,我们在VS中使用“Ctrl+F5”运行我们刚才的代码。看到了下面的窗口。

C++精讲系列1

实现第一个C++类

在《21天C语言代码训练营》中,很多人都说我们自己实现的string功能非常好用。下面是之前的头文件:

C++精讲系列1

今天,我们用C++的类来封装这一组功能。功能的实现也不用之前的代码了,我们用C++自己的string来完成。

1. 头文件

新建String.h文件,加入下面代码。

C++精讲系列1

这个头文件中,全部的功能代码都变成了String类的成员函数,这样,我们就可以用每一个String类的对象管理一个相应的字符串了。

这里需要注意,成员函数的函数名不再需要加上类名作为前缀了。也就是说不用再出现SringInit,StringAppend这样的函数名称了。

2. 源码文件

接下来我们实现String类的成员函数。创建String.cpp文件,代码如下:

C++精讲系列1

字符串实际上是保存在String的私有成员变量m_str中的,因此所有的功能其实是调用std::string给我们提供的API。

接下来我们写一段程序来测试一下我们的第一个C++类。在main.cpp中加入下面代码。

C++精讲系列1

按Ctrl + F5看看结果吧。

C++精讲系列1

其实,我们自己实现这个String类从功能角度来说意义不大,因为C++已经为我们提供了功能更强大的string类,但通过这段代码,我们能够清楚地看到在引入了类之后,C++的代码能够得到更好的封装,这对我们后面开发C++程序至关重要。

学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群

639368839,我们一起学C/C++!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质?你是否想成为一名资深开发人员,想开发别人做不了的高性能程序?你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹? 那么C++就是你个人能力提升,职业之路进阶的不二之选。【课程特色】 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。【学完后我将达到什么水平?】 1.对C++的各个知识能够熟练配置、开发、部署;2.吊打一切关于C++的笔试面试题;3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。【面向人群】 1.希望一站式快速入门的C++初学者; 2.希望快速学习 C++、掌握编程要义、修炼内功的开发者; 3.有志于挑战更高级的开发项目,成为资深开发的工程师。 【课程设计】 本课程包含3大模块基础篇本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。进阶篇本篇主要讲解编程中常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。提升篇:本篇可以帮助学员更加高效的进行c++开发,其中包含类型转换、文件操作、异常处理、代码重用等内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值