Cpp_成员指针

来源:互联网 发布:淘宝子账号干嘛的 编辑:程序博客网 时间:2024/05/18 00:41

1.成员变量指针

Student s1;
string* p = &s1.name; // 普通指针,而非成员指针
1)定义:类型 类名::*成员指针变量名 = &类名::成员变量;
2)使用:对象.*成员指针变量名
其中”.*”被称为成员指针解引用运算符
对象指针->*成员指针变量名
其中”->*”被称为间接成员指针解引用运算符
3)成员变量指针的本质就是类中特定成员变量在对象中的相对地址。

2.成员函数指针

1)定义:返回类型 (类名::*成员函数指针) (形参表) = &类名::成员函数名;

2)使用:(对象.*成员函数指针) (实参表);
(对象指针->*成员函数指针) (实参表);

3)成员函数指针中存放的就是成员函数在代码区中的绝对地址,但是为了提供this指针,同样需要通过对象或对象指针调用。

3.静态成员指针

静态成员指针与普通指针在定义、使用和语义上没有任何区别。

4.无论是普通成员还是静态成员,在对其成员指针进行初始化或赋值操作时,同样要受该成员访问控制属性的约束。

0 0
原创粉丝点击