#include
<
iostream
>
using namespace std;
class colors // 设置具体函数的类
{
public :
void show_color_rose(){cout << " red " << endl;}
void show_color_lily(){cout << " white " << endl;}
};
class flower
{
public :
void color( void (colors:: * show_color)()) // 可以用函数指针
{
(colors(). * show_color)();
}
};
int main()
{
flower rose, lily;
void (colors:: * rose_color)() = & colors::show_color_rose;
void (colors:: * lily_color)() = & colors::show_color_lily;
rose.color(rose_color);
lily.color(lily_color);
}
using namespace std;
class colors // 设置具体函数的类
{
public :
void show_color_rose(){cout << " red " << endl;}
void show_color_lily(){cout << " white " << endl;}
};
class flower
{
public :
void color( void (colors:: * show_color)()) // 可以用函数指针
{
(colors(). * show_color)();
}
};
int main()
{
flower rose, lily;
void (colors:: * rose_color)() = & colors::show_color_rose;
void (colors:: * lily_color)() = & colors::show_color_lily;
rose.color(rose_color);
lily.color(lily_color);
}
运行结果:
red
white
欢迎大家讨论...