类成员访问运算符( -> )可以被重載但它较为麻烦。它被定义用于为一个类赋予"指针"行为运算符 -> 必须是一个成员函数。如果使用了 -> 运算符返回类型必须是指针或者是類的对象。
运算符 -> 通常与指针引用运算符 * 结合使用用于实现"智能指针"的功能。这些指针是行为与正常指针相似的对象唯一不同的是,當您通过指针访问对象时它们会执行其他的任务。比如当指针销毁时,或者当指针指向另一个对象时会自动删除对象。
间接引用运算符 -> 可被定义为一个一元后缀运算符也就是说,给出一个类:
类 Ptr 的对象可用于访问类 X 的成员使用方式与指针的用法十分相似。例如:
當上面的代码被编译和执行时它会产生下列结果: