一、C++概述
本章目的是对整个C++快速浏览,得到一些基本概念。
基于对象的程序设计:通过一组数据抽象来建立问题的模型:{类}
通过继承机制和动态绑定机制扩展抽象数据类型:前者是对实现代码的重用,后者是对公有接口的重用。【类型、子类型】
1、 C++程序
语句、函数、程序源文件、预处理指示符、using指示符、内置基本类型、扩展的基本类型
语句:最小的程序单元,以分号结尾;【声明、赋值、输出】:符号变量、常量、输出操作符
函数:{返回类型、函数名、参数表}【函数原型】、函数体组成。
程序源文件:文件名+后缀:实现方式和编辑器以及系统相关。
预处理指示符:#include,读入库的信息
using指示符:使用名字空间
内置基本类型:int、float、char、boolen、double
扩展的基本类型:string、complex、vector、list【在使用时应该引入头文件】
程序流程控制
缺省情况:按顺序执行。
if语句:条件为真执行里面的内容。
Loop语句:条件为真时循环执行代码块的内容。
2 、预处理器指示符
#include
两种格式:
#include <some_file.h>
#include "my_file.h"
第一种带尖括号的格式表示里面的文件是一个工程或者标准头文件,查找时会检查预定义的目录【个人理解是设置好的环境变量,要把这些头文件放在环境变量下】,第二种带引号的是用户提供的头文件,在当前目录开始查找。
**会出现包含的头文件中还嵌套包含其他头文件的情况**
【处理办法:可以先定义一个预编译器常量{也可以在编译程序时使用-D 定义 -DBOOKSTORE_H}
例子:
#define BOOKSTORE_H
在调用时使用#ifndef这样的条件指示符来处理
#ifndef BOOKSTORE_H
#define BOOKSTORE_H
/* Bookstore.h 的内容 */
#endif
】
编译器自动会定义一些预处理器的名字:
__cplusplus:判断是否C++
__SEDC__:编译标准C
__LINE__:记录行数
__FILE__:记录文件名字
__TIME__:编译时间
__DATE__:编译日期
#include<assert.h>
预处理宏,如果assert(条件语句)失败则断言失败,终止程序。
3、注释
/* ,*/ 可以放在任意位置、含tab、空格、换行。不能嵌套。
// 注释单行
4、输入/输出初步
#include<iostream>
<<:用来将值导向标准输出或标准错误
>>:用来读入一个标准输入值
以上的输入输出操作符在连续出现时都可以连接在一起。
#include<fstream>
*在使用时,必须先声明输入输出文件的对象:
ofstream outfile( "name-of-file" ); //可以写入的文件
ifstream infile( "name of file" ); //可以读取的文件