第二章

如果程序直接退出, 可能需要在return 0;之前加上cin.get(), 或加上system("pause");
istream.get()

2.1 进入C++

头文件

C++可以使用C的头文件
C++头文件没有扩展名
C的头文件转换为C++的头文件:加上前缀c, 去掉扩展名, 可以使用命名空间

命名空间

using 编译指令
可以通过命名空间区分名字相同的函数(只有当头文件没有扩展名.h时)
using namespace std; // 导入整个命名空间
using std::cout; // 导入所需的名称

cout输出

cout << string; // 将右侧的信息插入到数据流中(运算符重载)

控制符endl

cout << endl; // 表示:重起一行
在输出流中插入endl将导致光标移动到下一行

换行符'\n'

区别:
endl确保程序继续运行前刷新输出(将其立即显示在屏幕上), '\n'不会

代码格式的变化

C++中可以在能够使用回车的地方使用空格, 反之亦然

标记和空白

标记:代码中不可分割的元素
空白:空格、制表符、回车统称为空白

2.2 C++语句

声明语句和变量

程序中的声明语句叫做定义声明, 简称定义。导致编译器为变量分配内存空间。
使计算机使用在其他地方定义的变量叫做引用声明。

赋值语句

符号:=, 赋值运算符
C和C++可以连续使用赋值运算符
x = y = z; // 赋值从右向左进行

cout与printf

cout 的 << 运算符可以根据其后的数据类型相应调整行为(运算符重载)
cout 是可扩展的, 使用更高级的 cout 可以达到 printf 类似的细致

2.3 其他C++语句

使用cin

cin >> carrots; // 信息从cin流向carrots, 与cout一样, cin也是一个智能对象

使用cout进行拼接

cout << "Now you have" << carrots << " carrots." << endl;

类简介

类描述了一种数据类型的全部属性(包括可以使用它执行的操作), 对象是根据类创建的实体。
类可以用户自己定义, 也可以来自类库
ostream
istream // 两个来自类库的类 cin 和 cout 就是这两个类的对象, 定义在 iostream 头文件中

类中的操作:

可以使用类方法, 也可以重新定义运算符

2.4 函数

有返回值的函数

函数声明, 函数定义

函数变体

多参数和无参数函数, 没有返回值的函数

用户定义的函数

函数格式

所有的函数都是平等的

函数头

关键字不能用作函数名
函数通过return返回值
main函数的返回值返回个操作系统

用户定义的有返回值的函数

在多函数程序中使用using

将编译指令放在函数内, 只有该函数可以访问命名空间