欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
VC中有没有DoEvents类似的函数? Debug 和 Release 编译方式的本质区别
未知  C++中 指向类成员函数的指针
[ 发布日期:19年前 (2006-01-14) ]   [ 来自:本站原创 ] [分类:C\C++相关]
C++中的函数指针一般是指向普通函数,在面向对象编程时可能会遇到需要使用 指向类成员函数的指针 的情况。

具体代码如下:

[复制到剪贴板]


#include <iostream>

class Bar
{
public:
    int fun(int aint b) {
        return b;
    }
};
int main(void)
{
    using namespace std;
    Bar b;
    Bar *pb = new Bar;
    // 声明一个指针 ptr,指向的类型是 Bar 的一个成员函数,
    // 该函数签名为 int (*ptr)(int, int);
    int (Bar::*ptr)(intint);
    ptr = &Bar::fun;          // 将 Bar::fun 这个成员函数指针赋给 ptr
    // .* 操作符 (关键操作)
    cout << (b.*ptr)(34);   // 在对象 b 上使用该指针调用其对象的成员函数
    // ->* 操作符
    cout << (pb->*ptr)(12); // 在对象指针 pb 上使用该指针调用其对象的成员函数
}
 


引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/109
复制引用地址https://www.rickw.cn/trackback/109/GBK
[ 分类:C\C++相关  | 查看:2127 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5