C++类的成员函数指针与普通的函数指针用法
来源:互联网 发布:js push shift 编辑:程序博客网 时间:2024/04/30 04:30
1.类成员函数指针调用
注意:如果在类内调用,则函数指针声明要放在类里面.如果是类外调用,则函数指针声明放在调用类中.
CFunCall.h文件:
class CFunCall
{
typedef int (CFunCall::*CLASSFUNC)(int);
public:
explicit CFunCall();
~CFunCall();
void ClassPrint(int );
private:
CLASSFUNC mCfun;
};
CFunCall.cpp
CFunCall::CFunCall()
{
mCfun=&CFunCall::ClassPrint;
(this->*mCfun)(1);//类内直接调用,需要指定当前类的实例this.
}
////////////////////类外调用////////////
main.cpp
typedef int (CFunCall::*CLASSFUNC)(int);
int main(int argc, char *argv[])
{
CFunCall mCFunCall;//实例化类
CLASSFUNC mCfun;
mCfun=&CFunCall::ClassPrint; //附值类的成员函数给定义的函数指针
(mCFunCall.*mCfun)(1); //调用,注意调用的形式,要有类的实例
2.普通函数指针调用
这个比类函数指针更容易理解.直接上代码说明
.h文件
typedef int (*FunC)(int); //声明函数指针,带一个int参数,和返回一个整形数
int Print(int);
class FunCall
{
public:
FunCall();
~FunCall();
private:
FunC mFun; //定义函数指针
};
在.cpp中实现一个打印函数
int Print(intdata)
{
qDebug()<<"data"<<data;
return 0;
}
/////////调用//////////////////////////
mFun=&Print; //将Print的函数地址给定义的函数指针.
(*mFun)(1); //调用
/////////////////////效果//////////////////
0 0
- 普通函数指针与类成员函数指针的区别
- C++类的成员函数指针与普通的函数指针用法
- 类的普通成员函数的指针
- 类的普通成员函数的指针
- 类的普通成员函数的指针
- 普通函数指针与成员函数指针
- 向普通函数传递类成员函数指针的问题
- 向普通函数传递类成员函数指针的问题
- 关于成员函数指针和普通函数指针的转换
- 成员函数指针的用法
- 函数指针与普通指针的区别
- 类成员函数指针的用法
- 类成员函数指针的用法
- 类成员函数指针的用法
- 成员函数指针:(结构+与普通函数指针之间的转换)
- 一般函数指针的用法与类成员的函数指针
- 普通的函数指针
- 普通函数,成员函数,静态成员函数与【指针】
- (一)Spring详解-入门介绍
- Microsoft office2016(专业增强版) 安装错误,报CRT(KB2999226)
- 深度学习 调参数
- iOS-仿网易新闻的首页(下篇)
- Quzartz 定时执行 任务调度器
- C++类的成员函数指针与普通的函数指针用法
- HDU 4323 Triangle LOVE【拓扑排序】
- Xcode官网下载
- java集合类详解(一)
- YARN Timeline Server介绍
- 数据库基本操作
- 数据库中INFORMATION_SCHEMA的说明及使用
- js闭包
- POJ3041-Asteroids