关于 双冒号,箭头,与点 操作符的使用规则:
:: -> .
【->】: 对象指针对对象成员的访问。
【.】: 对象或其引用对对象成员的访问。
struct MyStruct {
int a;
};
MyStruct s;
s.a = 1 //普通对象对结构体成员的使用
MyStruct* ps;
ps->a = 1; //指针
---------------------------------------------------
class A {
public
play();
}
A *p;
p->play;
A p;
p.play();
【::】用于类的成员函数与类成员变量
class CA {
public:
int ca_var;
int add(int a, int b);
int add(int a);
};
int CA::add(int a, int b) { //类内声明了方法但未定义,类外定义时需要使用 ::
return a + b;
}
int CA::add(int a) {
return a + ::ca_var;
}