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