this指针#
- this指针指向用来调用成员函数的对象。
- 每个成员函数都有一个this指针,包括构造和析构函数。
- this指针指向调用对象,如果需要引用整个调用对象,则可以使用*this。
对象数组#
- Stock stuff[4];
- 上述语句将会调用默认构造函数,生成4个Stock对象。
- 可以使用构造函数初始化数组中的对象。
Stock stocks[4] =
{
Stock("yang", 10, 23.1),
Stock("y", 10, 23.1),
Stock("yan", 10, 23.1),
Stock("ya", 10, 23.1)
};
类作用域#
- 在类中定义的名称。类数据成员名和类成员函数名的作用域都为整个类。
- 类作用域意味着不能从外部直接访问类成员。公有成员函数也是如此。
- 作用域为类的常量。
- 声明类只是描述了对象的形式,并没有创建对象。在创建对象前没有用于存储值的空间。
- 有两种方法可以实现这个目标。并且效果相同。
- 可以用枚举型常量提供作用域为整个类的符号名称。用这种方式不会创建数据成员,也就是说所有对象中不包含枚举。
- 作用域内枚举
- c++11提供了一种新的枚举,其枚举量的作用域为类。
- enum class egg{Small, Medium, Large, Jumbo};
- 也可以使用struct代替class。
- egg choice = egg::Small;