//C++ Primer 第四版
1,成员指针只应用与类的非static成员。static类成员不是任何对象的组成部分,所以不需要特殊语法来指向static成员,static成员指针是普通指针。
1,成员指针只应用与类的非static成员。static类成员不是任何对象的组成部分,所以不需要特殊语法来指向static成员,static成员指针是普通指针。
2,成员函数的指针必须在三个方面与它所指函数的类型想匹配:
A,函数的形参的类型和数目,包括成员是否为const.
B,返回类型。
C,所属类的类型。
点击(此处)折叠或打开
- #include<iostream>
- using namespace std;
- class Test{
- int i;
- public:
- Test()
- {
- i=123;
- }
- static void show()
- {
- cout<<"hello"<<endl;
- }
- int get()
- {
- return i;
- }
- };
- int main()
- {
- Test t;
- int (Test::*pf)(); //调用操作符的优先级高于成员指针操作符,因此,包围Test::*pf的括号是必要的。
- pf=Test::get;
- cout<<(t.*pf)()<<endl;//注意:(t.*pf)(),而t.(*pf)()形式是错误的。
- return 0;
- }