第15章总结
本节阅读量:章节回顾
在每个(非静态)成员函数内部,关键字this是保存当前隐式对象地址的常量指针。可以让函数通过引用返回*this,以启用方法链接,可以在单个表达式中的同一对象上连续调用多个成员函数。
优先将类定义放在与类同名的头文件中。简单的成员函数(例如访问函数、空的构造函数等)可以在类定义中定义。
首选在与类同名的源文件中定义非平凡的成员函数。
在类类型内定义的类型称为嵌套类型(或成员类型)。类型别名也可以嵌套。
在类模板定义内定义的成员函数可以使用类模板本身的模板参数。在类模板定义之外定义的成员函数必须重新提供模板参数声明,并且应该(在同一个文件中)在类模板的正下方定义。
静态成员变量是由类的所有对象共享的静态存储期成员。即使没有实例化类的对象,也存在静态成员。首选使用类名、域解析操作符和成员名称访问它们。
使静态成员内联允许在类定义中初始化它们。
静态成员函数是可以在没有对象的情况下调用的成员函数。它们没有*this指针,并且不能访问非静态数据成员。
在类的主体中,可以使用友元声明(使用friend关键字)来告诉编译器,其他一些类或函数现在是友元。友元是被授予对另一个类的私有成员和受保护成员的完全访问权限的类或函数(成员或非成员)。友元函数是一个函数(成员或非成员),可以访问类的私有成员和受保护成员,就像它是该类的成员一样。友元类是可以访问另一个类的私有成员和受保护成员的类。
