对stackt中的每一个对象调用某个方法,stackt采用模板进行定义
来源:互联网 发布:sql基础语法 编辑:程序博客网 时间:2024/05/18 03:46
1. stackT.h
#ifndef STACKT_H_#define STACKT_H_template<class T> class stackIter;template<class T>class stackt{enum{ssize = 100};T stack[ssize];int top;public:stackt() : top(0){stack[top] = 0;}void push(const T& i){if(top < ssize){stack[top++] = i;}}T pop(){return stack[top > 0 ? --top : top];}friend class stackIter<T>;};template<class T>class stackIter{stackt<T>& S;int index;public:stackIter(stackt<T>& is) : S(is), index(0){}T& operator++(){if (index < S.top - 1){index++;}return S.stack[index];}T& operator++(int){int returnIndex = index;if (index < S.top - 1){index++;}return S.stack[returnIndex];}};#endif
2. main.cpp
#include "stackT.h"#include <iostream>using namespace std;template<class T, class R>void applist(stackt<T>& t1, R (T::*f)(), int size){stackIter<T> it(t1);for (int i = 0; i < size; i++){T& t = it++;(t.*f)();}}template<class T, class R, class A1, class A2>void applist(stackt<T>& t1, R (T::*f)(A1, A2), A1 a1, A2 a2, int sz){stackIter<T> it(t1);for (int i = 0; i < sz; i++){T& t = it++;(t.*f)(a1, a2);}}class gromit{int arf;public:gromit(int Arf = 1) : arf(Arf + 1){}void speek(){cout << "speek() : " << arf << endl;}int sleep(char, double){cout << "zzz..." << endl;return 0;}};int main(){stackt<gromit> dogs;const int sz = 5;for (int i = 0; i < sz; i++){dogs.push(*new gromit(i));}applist(dogs, &gromit::speek, sz);applist(dogs, &gromit::sleep, 'z', 3.0, sz);system("pause");return 1;}
- 对stackt中的每一个对象调用某个方法,stackt采用模板进行定义
- 对action中的某个方法进行校验
- django学习——采用forloop对模板中的数据进行排序
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- 对List中的某个属性进行排序
- 采用Delegate对一个未知类型的对象进行"遍历"
- 调用对象中的方法
- 对jsonarray中某个对象的某一个字段进行排序
- 对一个二维数组中的某个值进行降序排行
- 如何对系统中的某个进程进行监控
- 如何对系统中的某个进程进行监控
- 如何对系统中的某个线程进行监控
- 根据类中的某个属性对类进行排序
- JS:若对象数组中的某个对象含有某个属性-值对,则输出这个对象
- Struts2.0学习笔记---对所有方法进行校验和对某个方法进行校验
- Scala类的定义,主/辅构造器,以及方法中的变量定义,单例对象,伴生对象,Apply方法调用,应用程序对象
- 对list中的对象进行排序
- 如何对List中的对象进行排序
- voilate详解
- 试一试-自定义数据类型
- ABAP里面的面对对象设计
- 第十五周 多科成绩单
- Android DecorView浅析
- 对stackt中的每一个对象调用某个方法,stackt采用模板进行定义
- Java编程中“为了性能”尽量要做的26点
- PostThreadMessage实现多线程间消息通信
- Top 10 JDBC Best Practices for Java Programmer Read more: http://javarevisited.blogspot.com/2012/08
- 【javascript】动态管理用户
- 百度笔试题:绳子最多覆盖多少个点
- 关于解决ubuntu误改sudoers文件的解决办法
- android屏幕旋转时,Activity不重新调用onCreate的方法
- linker script文件解说