this指针、对象数组、类作用域

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;
posted @ 2019-12-02 23:15  yangzixiongh  阅读(181)  评论(0编辑  收藏  举报