在C++中对象可以通过“.”来调用该对象的成员变量。p.func()
int member;
如果是指针的话,就不能通过“.”来调用,而只能使用“->”来调用。p->func()
这种情况的出现是因为使用了结构,对一个结构来说,
struct MyStruct
{
};
如果定义变量MyStruct s,那么使用其中的成员元素时可以用s.member = 1;
如果采用指针方法访问,MyStruct *ps,那么同样的访问必须使用,(*ps).member = 1; 或者 ps->member = 1。
另一例:
struct CandyBar {
float weight;
int calorie;
};
在程序中
CandyBar snack = {2.3, 350};
我们可以用snack.weight来取结构中的值。
如下情况可以使用“->”
CandyBar *bird;
bird->weight = 2.23;
C++中定义类对象是指针对象的时候,需要用到"->"指向类中的成员;当定义一般对象的时候,需要用到"."指向类中的成员。
class A {
public:
play();
}
如果定义如下:
A *pa则:p->play(),左边是结构指针。
A a则:p.play(),左边是结构变量。
本文详细介绍了在C++中如何通过对象及指针访问类成员的方法。对于对象,可以直接使用“.”操作符访问成员;而对于指针,则需要使用“->”操作符。此外,还提供了具体的代码示例帮助理解。

1640

被折叠的 条评论
为什么被折叠?



