类或函数包装器
2015-07-03 17:31
357 查看
#include <iostream> using namespace std; template <typename T1,typename T2> T1 volume(T1 t1, T2 t2) //包装器,实现一个操作接口,操作多个类的方法 { return t2(t1);//T2若是类,则类需要重载操作符() } int area(int num) { return num * 10; } class Area { public: Area(int length, int width) { this->length_ = length; this->width_ = width; } int operator()(int height)//类包装器,这里需要重载操作符() { return length_*width_*height; } private: int length_; int width_; }; int main() { int height = 10; cout <<volume(height,area)<< endl; int length = 0; int width = 10; cout << length << "\t" << width << endl; cout << "请输入长度和高度\n"; cin>>length>>width; //cout << length << "\t" << width << endl; Area area(length, width); cout << "体积:"<<" "<<volume(height, area) << endl; system("pause"); return 0; }
相关文章推荐
- 推荐一些用CRF做图像语义分割的资源
- Binary Tree Level Order Traversal II
- Linux 中的 0x0D 与 0
- hdu 3360 最小点覆盖 **
- [转] Java快速教程
- PHP, ASP一句话网马客户端
- [Android]透明menu菜单的实现
- Android--静默安装和静默卸载
- Oracle锁表查询及解锁kill进程简介
- Spring MVC 3.0 深入及对注解的详细讲解
- android 帅气的UI框架
- ICMP
- json在PHP中应用技巧
- 串口调试
- 《图形学》实验五:改进的Bresenham算法画直线
- hash算法
- 第六章
- Oauth2.0 用Spring-security-oauth2 非常简单
- 在PHP中使用Mysqli操作数据库
- StringBuffer