#include "stdafx.h"
#include<iostream.h>
class CA{ // enum{YY=100};
//static int x;
int ii;
void (CA::*ProX)(int);
public:
CA(int i=0):ii(i*i){};void Pro1(int) const;
void pro4(const void (CA::*p)(int));
};
void CA::pro4(const void(CA::*p)(int))
{
(this->*p)(ii);
}
void CA::Pro1( int x) const
{
cout<<"pro1 :"<<"ii:"<<ii<<" i: "<<x<<endl;
}
typedef const void (CA::*HEHE)(int);//这里定义类型
void main()
{
CA ca2;
ca2.Pro1(5);
ca2.Pro1(10);
ca2.pro4((HEHE)ca2.Pro1);//转换一把}
#include<iostream.h>
class CA{ // enum{YY=100};
//static int x;
int ii;
void (CA::*ProX)(int);
public:
CA(int i=0):ii(i*i){};void Pro1(int) const;
void pro4(const void (CA::*p)(int));
};
void CA::pro4(const void(CA::*p)(int))
{
(this->*p)(ii);
}
void CA::Pro1( int x) const
{
cout<<"pro1 :"<<"ii:"<<ii<<" i: "<<x<<endl;
}
typedef const void (CA::*HEHE)(int);//这里定义类型
void main()
{
CA ca2;
ca2.Pro1(5);
ca2.Pro1(10);
ca2.pro4((HEHE)ca2.Pro1);//转换一把}
class CA{ // enum{YY=100};
//static int x;
int ii;
void (CA::*ProX)(int);
public:
CA(int i=0):ii(i*i){}; void Pro1(int) const;
void pro4( void (CA::*p)(int) const);//<==========here
};
void CA::pro4( void(CA::*p)(int) const) //<==========here
{
(this->*p)(ii);
}
void CA::Pro1( int x) const
{
cout<<"pro1 :"<<"ii:"<<ii<<" i: "<<x<<endl;
}void main()
{
CA ca2;
ca2.Pro1(5);
ca2.Pro1(10);
ca2.pro4(ca2.Pro1);}