3.8 指向对象的指针
指向动态分配的对象的指针在C++(www.cppentry.com)程序中应用得非常频繁。因此,在这一节中,我们着重讨论这个主题。
对象或对象引用使用成员选择操作符.来访问对象的成员。
例3-41
本例展示了对象c1和对象引用c使用成员选择操作符的语法,在这两种情况下,对成员函数m的调用都是通过成员选择操作符来进行的。
成员选择操作符只能用于对象和对象引用。要通过指针来访问成员,必须使用指针操作符->。
例3-42
本例对例3-41进行了修改,将一个指向对象c1的指针传递给函数f,而不是传递其引用。在f中,指针操作符出现在指向对象(在本例中是c1)的指针p和被访问的成员(在本例中是m)之间。由于f得到的是一个指向c1的指针而不是c1的引用,所以指针不能用成员选择操作符来调用m:
指针操作符->的-部分与>部分之间不能出现空格,但在->两边可以出现空格:
指针操作符->的-部分与>部分之间不能出现空格,但在->两边可以出现空格:
在C++(www.cppentry.com)中,指向对象的指针主要用于两个方面:其一,指向对象的指针可以作为参数传递给函数,或通过函数返回,例3-42列举了这种用法;其二,使用操作符new和new[]动态创建对象,然后返回一个指向该对象的指针。
在后面的章节里,我们将在例子中混合使用对象、对象引用和指向对象的指针,并详细讨论其原因。现在我们将重点讨论指针操作符的语法。注意,在访问一个对象的成员时:
成员选择操作符.专门用于对象和对象引用。
指针操作符->专用于对象指针。