类(二)

类的作用域

类的定义分为两步

  • 编译成员的声明
  • 知道类全部可见后才编译函数

在成员函数中进行名字查找的过程:

  • 在函数内部查找名字的声明
  • 第一步没有找到,则在类中继续查找
  • 如果类内也没有,则在成员函数定义之前的声明中进行查找

如果外层对象被隐藏,可以使用域运算符进行访问即符号::

构造函数再探

  • 使用构造函数对成员进行初始化

  • 成员初始化顺序最好与参数列表顺序保持一致,且初始化成员时应避免有依赖关系。

  • explicit 关键字用于抑制构造函数定义的隐式转换

  • 聚合类
    当一个类满足下面条件就称为聚合类:所有成员为public,没有定义构造函数,没有类内初始值,没有基类也没有virtual函数

类的静态成员

通过static关键字实现

定义

class Account{
  public:
      static double rate(){return 0};
}
  • 静态类成员,被所有类生成的对象公有

使用静态成员

double r;
r= Account::rate();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容