码迷,mamicode.com
首页 > 其他好文 > 详细

指向类成员的指针

时间:2015-07-23 00:21:17      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

c++语言中,可以说明指向类的数据成员的指针和指向类的成员函数的指针。
这两种指针必须与对象或指向对象的指针结合使用。
1.指向类的数据成员的指针定义格式为:
类型名 类名:: *指针;
这种说明不是说指针属于类的,而是说明指针只能指向指定类的指定类型的成员。
2.指向类的成员函数的指针
类型名 (类名:: *指针)(参数表);
同样的道理,函数指针并不属于类,而是只能指向类的指定原型的函数。
#include<iostream.h>
class A
{public:
    int a;
    int b;
    A()
    {}
    int f()
    {
        int A::*p=&A::a;
        this->*p=100;//必须使用this指针
        return 0;
    }    

};

void main()
{   
    int (A:: *q)();
    A obja;
    int A::*p=&A::b;
    obja.*p=10;
    cout<<obja.b<<endl;
    q=A::f;
    (obja.*q)();//注意前面的括号
    cout<<obja.a<<endl;


}
技术分享

 

指向类成员的指针

标签:

原文地址:http://www.cnblogs.com/leijiangtao/p/4669029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!