指向类成员指针(仅作了解用)
来源:互联网 发布:天之刃数据库 编辑:程序博客网 时间:2024/05/16 01:28
说明:首先本文涉及的只是对于C++的特性稍作深入了解,在实际开发中应用可能不多。纯属概念和感性认识吧!O(∩_∩)O~
相对于一般的指针,指向一个类成员的指针稍微有点“怪异”,不过,当你理解了其原理以后,你就不会这么觉得了。
对于一般的指针来说,它被定义为一个指向某个“地址”的变量,但是,对于指向类成员的指针来说,这个类并是没有被实例化的,所以,不存在真正意义上的指针,这里说的“地址”,就是相对于这个类的偏移量。
class Simple
{
int a; //成员变量
int fun(float); //成员函数
}
int (Simple:: *ip) = &Simple::a; //指向类成员变量
int (Simple:: *pf)(float) = &Simple::fun; //指向类成员函数
实例:
#include<iostream>
using namespace std;
class Test
{
public:
int fun(float)
{
cout << "Test::fun" << endl;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
return 1;
}
public:
int a;
int b;
};
int main()
{
Test t;
Test* pTest = &t;
int (Test::*pInt) = &Test::a; //成员变量指针初始化
t.*pInt = 1;
pInt = &Test::b;
pTest->*pInt = 2;
int (Test::*pFun)(float) = &Test::fun; //成员函数指针初始化:注意参数和返回值
pTest->fun(1);
(pTest->*pFun)(1.0); //函数调用:注意参数写法
return 0;
}
- 指向类成员指针(仅作了解用)
- C++类成员指针(指向类成员的指针)
- 指向类成员的指针
- 函数指针 指向 类成员!
- 指向类成员的指针
- 指向类成员的指针
- 指向类成员的指针
- 指向类成员的指针
- 指向类成员的指针
- 指向类成员的指针
- 指向类成员的指针
- 指向类成员函数指针
- 指向类成员的指针
- 指针指向类中的成员
- 指向类成员的指针
- 指向类成员的指针
- 用指向指针的指针作函数的参数(指针、指针数组、指向指针的指针)
- 指向类成员的指针并非指针
- 教你透彻了解红黑树
- 简单驱动开发配置(转自http://blog.csdn.net/yinxu/archive/2007/11/12/1880561.aspx)经典
- C/C++获得系统时间
- net打开任务管理器
- 一个很好的弹出窗口
- 指向类成员指针(仅作了解用)
- 解决编译ffmpeg时的错误
- android handler相关资料
- DragQueryFile
- cannot restore segment prot after reloc: Permission denied
- android 图片放大处理
- 最大权闭合图 poj2987
- 随记
- 在Windows下使用TTS(C#代码