1. C++程序整体概览
#include<xxx> //预处理指令
int main( ) //函数头,括号里是形参列表(argument list or parameter list)
{
statements; //语句
return 0; //结束函数
} //花括号内称为函数体
以上是C++的整体结构,其中有几个要点:
a. main()被启动代码调用,而启动代码是由编译器添加到程序中的,是程序和操作系统之间的桥梁(该函数头描述的是main()和操作系统之间的接口)
b. return 0可以是隐含的
c. main()在一些情况下并非必要,这些情况有:
(1)动态链接库DLL模块
(2)专用环境的程序(如机器人的控制芯片)
(3)框架程序中的非标准函数,如“_tmain()”调用了一个隐藏的main()
d. C++注释分为两种:
(1)单行可用 //
(2)多行可用 /* */
e. 预处理相关:
(1)预处理指令 #include<xxx> 导致在源码编译之前替换或添加库中文本。
(2)C++头文件名:
*转换后的C库名,例如cstring
*所有没有.h后缀的头文件均包含名称空间中
*名称空间的两种调用方式
**例如using namespace std;
**例如using std::cout;
2. C++语句
a. 声明语句
格式: 被存储的数据类型 变量名
如:int carrots;
b. 赋值语句
格式如:carrots=25;(允许连续赋值a=b=25;)
c. 输入流与输出流
在iostream文件中,输入输出语句可以表示为
cout<<内容;//输出
cin>>内容; //输入
输入输出均表示为流,第一行的语句表示将内容插入至输出流中,同理第二行语句代表将内容插入至输入流中,其中“<<”和“>>”是运算符重载,两者均能智能识别内容的类型。
还有一个需要区分的是控制符endl与换行符“\n”的区别:endl刷新输出流,有点类似加了一个clear的操作使得流中的缓存被清空,所以另起一行,而换行符是直接将该字符添加进输出流中,并没有影响到其他输出流中的其他内容。
3. 类与函数简介
由于类在上一章中简要说了下,这里只记录下向对象传递消息的两种方式,
(1)类方法(本质上就是函数调用)
(2)运算符重载
对于函数分为两类,有返回值和无返回值函数。
对于函数大体上都由下面几个部分组成:
(1)函数头+函数体
(2)接受参数
(3)返回值(或无返回值)
且每个函数都需要申明其原型才能使用。
还有一个比较重要的关于名称空间的事:
多函数程序中,访问名称空间有4种方式:
(1)函数定义之前使用using namespace std;
(2)函数定义中使用using namespace std;
(3)特定函数中使用using std::xxx;
(4)不用using,在语句中直接std::xxx;
END
参考资料《C++ Primer Plus》