C++学习笔记(二)--整体概览

2019-10-25  本文已影响0人  Pan_Ziheng

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》

上一篇下一篇

猜你喜欢

热点阅读