一、工厂模式 (1)简单工厂模式 例:一个工厂只能够生产两种产品A和B,客户需要什么产品一定要显示地告诉工厂。 这种设计方式的缺点: 要增加新产品时,需要修改工厂类。 违背了开放封闭原则:软件实体(类、模板、函数)可以扩展,但不可以修改。所以工厂方法模式出现了。 (2)工厂方法模式 工厂方法模式是对 ...
分类:
其他好文 时间:
2016-09-11 18:41:01
阅读次数:
129
模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 ...
分类:
编程语言 时间:
2016-09-11 16:58:37
阅读次数:
235
函数业务逻辑一样,只是函数参数类型不同函数模板的本质:类型参数化——泛型编程 语法: 函数模板基础: template是告诉C++编译器,开始泛型编程,看到T,不要随便报错 在使用模板时,遇到修改模板里面内容,需要清除原有方案,重新编译。 函数模板遇上函数重载: //函数模板不允许自动类型转化,严格 ...
分类:
其他好文 时间:
2016-09-08 12:44:16
阅读次数:
147
C++除了支持模板函数,还支持模板类。模板类的目的同样是将数据类型参数化。 声明模板类的语法为: 模板类和模板函数都是以 template 开头,后跟数据类型参数列表;数据类型参数不能为空,多个参数用逗号隔开。 一但声明了模板类,就可以用数据类型参数来声明类中的成员变量和成员函数。也就是说,原来使用 ...
分类:
编程语言 时间:
2016-09-03 13:29:09
阅读次数:
238
1.函数模板 关键字template总是放在模板的定义与声明的最前面。关键字后面是用逗号分隔的模板参数表,它用尖括号(<>)括起来。该列表是模板参数表,不能为空。模板参数分为:(1) 模板类型参数,代表一种类型;(2) 模板非类型参数,代表一个常量表达式。 eg: template <class T ...
分类:
其他好文 时间:
2016-09-01 18:08:34
阅读次数:
155
从数据库查询数据,浏览器以表格形式显示模板页面<tableborder="1"width="800"align="center">
<caption>用户信息表</caption>
<{foreach$tdnameas$val}>
<th><{$val}></th>
<{/foreach}>
<{foreach$usersas$user}>
<..
分类:
Web程序 时间:
2016-08-30 14:53:33
阅读次数:
249
本来这篇博客是不打算写的,内容不是很难,对于我自己来讲,更多的是为了突出细节。 所谓template friend functions,就是使友元函数本身成为模板。基本步骤:1,在类定义的前面声明每个模板函数。eg:template <typename T> void counts(); templ ...
分类:
其他好文 时间:
2016-08-22 23:30:31
阅读次数:
281
函数模板是一个非常有用的东西, 对于极其相似(函数名与参数个数相同,功能相似)的函数,但是函数的类型与函数的参数类型不同时, 为避免同时定义多个同名却参数类型不同函数, 可以使用函数模板。 参考一下代码用于求三个数的最大值,所给出的三个数有不同的类型: 系统会根据实参的类型来取代模板中的 T 类型。 ...
分类:
其他好文 时间:
2016-08-13 15:31:14
阅读次数:
121
C++ 语言编写的基础练习 具体案例放在github中 github地址:https://github.com/Master-fd/C-Base 1. 操作符重载 2. 构造与析构 3. 函数模板 4. 函数重载 5. 继承 6. 继承的多肽 7. 类的封装性 8. 类的静态成员 9. 类模板 10 ...
分类:
编程语言 时间:
2016-08-10 22:36:58
阅读次数:
152
SpEL简介与功能特性 Spring表达式语言(简称SpEL)是一个支持查询并在运行时操纵一个对象图的功能强大的表达式语言。SpEL语言的语法类似于统一EL,但提供了更多的功能,最主要的是显式方法调用和基本字符串模板函数。同很多可用的Java 表达式语言相比,例如OGNL,MVEL和JBoss EL ...
分类:
编程语言 时间:
2016-08-08 09:53:44
阅读次数:
399