前言
最近刚进公司,使用VS比较多,但是对我自己来说,关于C++知识点的掌握并不是特别的牢靠,所以这里给自己做一个C++的复习,相当于先把基础过一遍,在基础部分主要是理解,也会做一些小的项目,后面会加一些大型的实战项目来练手。
/*****************************************我是分界线*******************************************************/
一、简述C++
C++就是面向对象编程,简称OOP,强调的是数据。试图让语言来满足问题的要求。
在C++中,类是一种规范,对象是根据这种规范结构的特定数据结构。
OOP中有很多的可复用的代码,这可以减少大量的编程工作;信息也可以隐藏进而满足保护数据的要求,多态可以对运算符和函数进行创建多个定义等。
①:编程的步骤
源代码(.cpp文件)----编译---> 目标代码(.obj文件)---链接--->可执行代码(.exe文件)
二、进入C++
关于一个C++程序
在一个C++程序中,一个.cpp程序包含以下元素
1.注释,由前缀//标识。
2.预处理器编译指令#include。
3.函数头int main()。
4.编译指令 using namespace 。
5.函数体,使用{}括起来。
6.使用C++的cout数据流显示消息的语句、使用C++的cin数据流从外设输入数据至电脑
7.结束mian()函数的return 语句。
关于main()函数
其实C++中main()函数和C语言中的main函数类似,不一样的地方在于C语言中我可以定义mian函数是void类型(不返回任何数值)而在C++中main函数要使用int(整型数据)作为返回值。
注意:所有程序不管怎么使用,函数总是从main函数开始。
C++预处理器和iostream文件
要使用C++输入或输出工具,一定要提供以下代码:
#include <iostream>
using namespace std;
第一段代码中,该编译指令导致预处理器将iostream文件的内容添加到程序中。一种典型的预处理操作。
头文件名
类似于iostream的文件叫做包含文件(一般我们叫做头文件),里面一般会封装一些函数功能,思想等。
namespace名称空间
名称空间支持是一项C++特性,在大型编程中,代码量大,或者是多个设备驱动中使用的时候,不仅可以让我们编程使用起来更加容易,还可以让我们代码组织更加有序。
输入与输出
在C语言中,输入输出用的是scanf和printf,在C++11中不仅可以使用scanf和printf,还可以使用输入输出流形式的cin和cout。
关于cin和cout,我们可以把他比作一种水流,数据就像水流一样,从一端流到cin或者cout然后被执行相应的操作。使用<<符号可以把数据穿发给cout,cout<<endl这个语句是提行、同样换行符还有\n这个是在C语言中经常使用到的。
C++语句
声明语句和变量
我们要告诉计算机我们要使用什么东西,就要使用声明和变量,
int a;
这就是一个完整的声明语句(注意,一个完整的语句要有分号作为结尾),和C语言不同的是,C语言中习惯在函数调用前就把变量声明好,但是在C++中可以在使用之前声明就好;
赋值语句
赋值语句将数值给存储单元。
int a = 10;
这就是将10给a这个变量,符号= 叫做赋值运算符。
赋值一般都是从右往左进行。例如:
int a , b ;
a = b = 10;
首先,10被赋值给b这个值,再被赋值给a这个值。
其他C++语句
cout的使用
如果输入以下语句:
int a = 10;
cout << a << endl;
其结果不是a而是a对应的数值10。
实际上,C++插入运算符<<将根据后面的数据类型进行适当的调整,这是一种运算符重载的例子(后面我们将提到这个)。
cin的使用
同cout一样,可以看做数据流的输入。但是cout使用<<运算符进行输出,cin使用>>运算符进行输入。
类的简述
类是OOP中核心概念之一,类描述了一种数据类型的全部属性(包括里面可以使用它执行的操作),对象就是根据这些描述创建的实体。
类描述指定了可对类对象执行的所有操作,一种是使用类方法,一种是重新定义运算符。
函数
使用有返回值的函数,就和C++中main函数一样,前面有int表明了数据的返回值是int类型,后面的main就是函数的名称,函数名称就是函数的入口,因为函数名可以作为函数指针。
注意:C++程序应该为程序中每一个函数提供原型。
在使用函数的时候,函数需要使用多个信息的时候,就要传递数据,这个过程我们通常叫做传递参数,多个参数之间使用逗号分开。
C++中不仅有由头文件中包含的功能函数,还有由用户定义的函数,代码如下:
int my_function(int a)
{
return 0;
}
其中,int是函数的返回值类型,和函数主体中的return相互对应。my_function是函数的名字,也是函数的入口,后面的int a 就是函数传递的参数,参数类型是int类型,参数的名字叫做a。
注意:除了主函数以外的函数,返回值一般都是返回到调用这个函数的地方,或者没有返回值,只是为了使用这个函数的功能(比如输出一个数字),但是main函数中,返回值不是给某一个函数,而是将值返回给操作系统。