指针访问类
发布时间: 2022-11-08 09:56:15
① 采用指向函数的指针访问类的成员函数的格式是如何的
这需要使用两个特别指定的操作符:
::*用来定义指向类成员函数的指针
->*用来调用函数
看代码:
#include<cstdio>
classMyPtrTestClass
{
public:
MyPtrTestClass()
{
m_iVal=0;//初始为零
}
//定义指向类的成员函数指针别名
typedefvoid(MyPtrTestClass::*Action)();
//参数为指向类的成员函数的指针
voidRepeat(ActionactOp,intiTimes)
{
for(inti=0;i<iTimes;++i)
{
(this->*actOp)();//调用指定的函数
}
}
voidAddVal()
{
++m_iVal;
}
voidSubVal()
{
--m_iVal;
}
voidShowVal()
{
printf("Thevalueis:%d. ",m_iVal);
}
intm_iVal;
};
intmain(intargc,char*argv[])
{
MyPtrTestClassmyClass;
//调用Addval成员函数
myClass.Repeat(&MyPtrTestClass::AddVal,20);
myClass.ShowVal();
//调用SubVal成员函数
myClass.Repeat(&MyPtrTestClass::SubVal,100);
myClass.ShowVal();
return0;
}
测试截图:
热点内容