利用指向类成员函数的指针数组,实现更加隐蔽的接口
来源:互联网 发布:中国 菲律宾 知乎 编辑:程序博客网 时间:2024/06/05 20:53
利用指向类成员函数的指针数组,实现更加隐蔽的接口
#include "stdafx.h"#include <iostream>using namespace std;class Widget{public:Widget(){//对函数指针数组进行初始化 一定要加Widget::fptr[0] = &Widget::f;fptr[1] = &Widget::g;fptr[2] = &Widget::h;fptr[3] = &Widget::i;}void select(int i, int val){(this->*fptr[i])(val); //this-> 一定不能省略 因为指向类成员的指针在被调用的时候 //必须用一个对象去调用}int count(){return cnt;}private:void f(int val) { cout << "void f(int val)" << val << endl; }void g(int val) { cout << "void g(int val)" << val << endl; }void h(int val) { cout << "void h(int val)" << val << endl; }void i(int val) { cout << "void i(int val)" << val << endl; }enum{ cnt = 4 }; //运用到常量时用枚举类型 可以不用定义名字void(Widget::*fptr[cnt])(int); //定义指向类成员函数的指针数组//因为四个成员函数有很多的共同点 //而指向类成员的指针类型可以包含这些共同点//所以用这种类型的指针数组来存放函数 实现更加隐蔽的调用};int _tmain(int argc, _TCHAR* argv[]){Widget w;for (int i = 0; i < w.count(); i++){w.select(i, 23);}return 0;}
阅读全文
0 0
- 利用指向类成员函数的指针数组,实现更加隐蔽的接口
- 利用指向函数的指针数组实现计算器
- 指向 类成员函数 的 函数指针
- 指向类的成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- 指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- C++指向类成员函数的指针
- 指向类成员函数的指针
- C++指向类成员函数的指针
- 指向类成员函数的指针
- 指向类成员函数的指针
- 指向类成员函数的指针
- android adb端口被占用解决方案
- Ubuntu 下安装Node.JS的不同方式
- 08 Spring框架 AOP (一)
- 虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)
- 坐拥10亿用户的产品大牛们都被难住了?
- 利用指向类成员函数的指针数组,实现更加隐蔽的接口
- 中文乱码问题
- 机器学习算法
- quaggaJS 识别条形码
- ES6学习之路7----set数据结构
- 把数据list分割成list/len组,每组len条数据
- VS提示图标的含义
- 1 dubbo源码之启动时检查
- Attr、Style和Theme