第十章 对象和类
10.1 过程性编程和面向对象编程
面向过程首先考虑要遵循的步骤;然后考虑如何表示这些数据。 面向对象首先从用户角度考虑对象,描述对象的所需的数据以及描述用户与数据交互所需的操作。
10.2 抽象和类
- C语言中有基本数据(int float char 指针)类型完成如下工作:
决定数据对象需要的内存数量; 决定内存中的位(不同类型占用不同的内存位数); 决定可使用数据对象执行的操作或方法。 - 类和结构:
C++对结构进行了扩展,结构和类的唯一区别是:结构默认访问是public,而类是private。 - 使用ostream类时,可以设置cout的输出精度,方法如下:
ios_base::fmtflags init = os.setf(ios_base::fixed);
os.precision(0);
os.setf(ios::showpoint);
os.precision(1);
os.setf(init);
10.3 类的构造和析构函数
构造函数初始化对象,析构函数释放对象空间。 C++11支持列表初始化。 具体的使用,看《C++语法提升》中的练习题。
10.4 this指针
this指针,指的是对象本身。
10.5 对象数组
和正常数组一样,也可以创建类的多个对象,如Stock st[4]; 创建了四个对象的数组。
10.6 类的作用域
类的成员函数的定义在函数前用类名::区分。 C++ 11 允许在类中定义的枚举类型和静态方法定义一个常量。 如:enum {MAX = 10} 等价于:static const int MAX = 10;
10.7 抽象数据类型
类很具体,也可以定义抽象数据类型,如: typedef unsigned long Item; Item items[5];
|