第二章
如果程序直接退出, 可能需要在return 0;之前加上cin.get(), 或加上system("pause");
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
将编译指令放在函数内, 只有该函数可以访问命名空间