#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
欢迎大家讨论...