Primer Plus 对象和类

结构的默认访问类型是public,类的默认访问类型是private

不同对象各自有数据,但共享一组成员函数

构造函数

定义了构造函数就一定要定义默认构造函数

析构函数

如果构造函数里有用new,一定要提供使用delete的析构函数

类对象过期时,析构函数自动被调用

const成员函数

表示成员函数不会修改类的任何成员变量(除了mutable声明的)

1
void show() const; // 酱紫声明

this指针

this指针指向用来调用成员函数的对象

作用域为类的常量

1
2
3
4
5
6
7
8
9
10
11
12
13
class A {
private:
// 错误的,因为类声明没有创建对象,没有空间存储Months,也就不能成功声明costs
const int Months = 12;

// 正确的,该常量和其他静态变量存储在一起,而不是对象中
static int Months = 12;

// 正确的,该枚举的作用域为整个类
enum {Months = 12};

double costs[Months];
};