在C++中,符号"->"用于访问指向对象的指针的成员。它也被称为箭头运算符或取消引用运算符。
使用"->"符号的基本语法是:
对象指针->成员名称
这里,object_pointer是指向对象的指针,member_name是属于该对象的成员变量或函数。
示例:
通过指针访问成员变量:
cpp
#include <iostream>
using namespace std;
class MyClass {
public:
int myVar;
};
int main() {
MyClass* objPtr = new MyClass(); // Creates an object of MyClass and assigns it to objPtr
objPtr->myVar = 42; // Sets the value of myVar in the object pointed by objPtr to 42
cout << objPtr->myVar << endl; // Outputs: 42
delete objPtr; // Frees the memory allocated for the object pointed by objPtr
}
注意:"MyClass*objPtr=new MyClass();"和"MyClass*objPtr=new MyClass[()]"之间没有区别。这两个语句都是等效的,并使用"new"关键字创建指向类MyClass实例的指针。唯一的区别是类型名和变量名之间的间距,这会影响代码的可读性。有些程序员更喜欢在类型名称后面有一个空格,而另一些则不喜欢。然而,这纯粹是个人偏好的问题,不会影响代码的功能或正确性。
通过指针调用成员函数:
cpp
#include <iostream>
using namespace std;
class MyClass {
public:
void printHello() {
cout << "Hello!" << endl;
}
};
int main() {
MyClass* objPtr = new MyClass(); // Creates an object of MyClass and assigns it to objPtr
objPtr->printHello(); // Calls the printHello() member function of the object pointed by objPtr and prints "Hello!" to the console
delete objPtr; // Frees the memory allocated for the object pointed by objPtr
}