当前位置: 首页 > news >正文

报名网站辽宁省建设银行科技网站配色

报名网站辽宁省建设银行,科技网站配色,国内seo排名分析主要针对百度,做奖状的网站基类定义虚函数#xff0c;子类实现虚函数#xff0c;使用基类指针指向子类对象#xff0c;从而实现多态#xff0c;functionbind可以使没有任何关系的各种类对象及其行为以一种相同的行为表现出来#xff0c;类似多态#xff0c;高于多态#xff0c;这里没有继承、没有…基类定义虚函数子类实现虚函数使用基类指针指向子类对象从而实现多态functionbind可以使没有任何关系的各种类对象及其行为以一种相同的行为表现出来类似多态高于多态这里没有继承、没有指针、没有虚函数、松耦合… 将某类对象及其行为包装为模板类function的实例对象或以模板函数bind将某类对象及其行为包装为模板类function的实例对象定义包含模板类function的实例对象的Base类使用Base类可以表现为多态性 元组tuple存储标准库function实例对象 包装各种类对象及其成员函数 、解包元组对象链接点击这里 目录 1、代码中的模板类func及模板函数bind_f是为了理解标准库里的工具库functional的包装类function及函数bind本人所写2、代码使用标准库的functionbind 1、代码中的模板类func及模板函数bind_f是为了理解标准库里的工具库的包装类function及函数bind本人所写 #include iostream #include tuple //元组//std::make_index_sequence ( )//std::tuple_sizedecltype(args)::value//A类 struct A{void f(int a, int b, double c) { std:: cout A: a b c a b c \n; } }; //B类 struct B{void f(int a, int b) { std:: cout B: a b a b \n; } };//func模板类 templatetypename T,typename...Args class func{ private:T a; //T类型对象void (T::*f)(Args...); //T类型对象的成员函数std::tupleArgs... args; //保存可变参数//保存T类型对象的成员函数的参数templatesize_t...index //tuple解包//c14void tuple_unpack(std::index_sequenceindex... ){ (a.*f)( std::getindex(args)... ); } public: func( const T a, void(T::*f)(Args...),Args...args ):a(a),f(f), args(args...) { } //参数为对象、成员函数指针及可变参数的构造函数 void operator()(){ //重载 () tuple_unpack( std::make_index_sequence std::tuple_sizedecltype(args)::value ( ) );} };//bind_f模板函数// 返回func模板类对象 templatetypename T,typename...Args funcT,Args... bind_f(const T a, void(T::*f)(Args...),Args...args ){ return funcT,Args...(a, f,args... ); //构造一个func对象 } //包含模板类func实例对象的Base类 struct Base{templatetypename Tvoid fun(T t){ t(); } };int main(int, char *[] ) {Base base;A a;B b;//多态性//但A类、B类没有任何关系base.fun( bind_f(a, A::f,5,9,1.23 ) ); // A类base.fun( bind_f(b, B::f,5,6 ) ); // B类return 0; } 2、代码使用标准库的functionbind #include iostream #include functional //function bind//工具类标准库//A类 struct A{void f(int a, int b, double c) { std:: cout A: a b c a b c \n; } }; //B类 struct B{void f(int a, int b) { std:: cout B: a b a b \n; } };//Base类 struct Base{templatetypename Tvoid fun(T t){ t(); } };int main(int, char *[] ) {Base base;A a;B b;//多态性//但A类、B类没有任何关系base.fun( std::bind(A::f,a, 5,9,1.23 ) ); // A类base.fun( std::bind(B::f,b, 5,6) ); // B类return 0; }
http://wiki.neutronadmin.com/news/252163/

相关文章:

  • 镇江网站建设流程陕西省建设厅官网证件查询
  • 卖建材的网站有哪些一起来看在线观看免费
  • 网站建设采购合同验收做面食视频网站
  • 权威的手机网站建设上海装修设计公司
  • 网站安全建设目的是什么青岛品牌网站建设
  • 做企业展示型网站怎么做一个网上商城
  • 做网站基本步骤wordpress手机端适配
  • 会昌县城乡规划建设局网站dede网站收录
  • 加外链网站author 1 wordpress
  • 做的好的茶叶网站好永嘉县住房和城乡规划建设局网站
  • 东莞建设网站公司哪家好做彩票网站怎么样
  • 雏鸟短视频app软件下载网站网站打开速度多少时间
  • 企业网站策划案例淘宝不允许 网站建设
  • 网站建设大数据网站是做排行
  • 网站域名怎么快速备案购物网站网页设计
  • 有没有好的网站可以学做头发网站的三大标签
  • 如何在网站做旅游产品网站开发与设计多少钱一个网站
  • 网站名字做版权需要源代码吗建设网咨询
  • net网站开发环境站长之家工具高清
  • 婚纱网站策划书模板下载小程序设计需要多少钱
  • 西三环路网站建设学网站建设好不好
  • 专门做别墅的网站网络促销方案
  • 网站建设资源互联网技术学院
  • 什么语言做网站简单上海网络推广方法
  • 描述建设一个网站的基本步骤搜索排名查询
  • 软文推广有哪些免费推广软件平台seo博客
  • 白云网站建设公wordpress2010如何适应手机
  • 中国网站排名100中国网评中国网评
  • 百度减少大量网站收录暖色系网站模板
  • 企业网站建设公司上海上海网站制作平台