简单的说,虚函数就是被virtual修饰的成员函数。其目的就是为了实现类的多态性,需要了解一下几个问题:1.一个函数是虚函数,并不是说这个函数不被实现;2.定义一个函数为虚函数的目的,是为了从基类调用派生类的同名函数;3.如果一个函数被定义为纯虚函数,代表这个函数没有被实现,需要子类实现。举例说明:...
分类:
编程语言 时间:
2015-06-25 10:11:25
阅读次数:
125
**二、AOP的设计与实现
1、JVM的动态代理特性**
在Spring AOP实现中, 使用的核心技术时动态代理,而这种动态代理实际上是JDK的一个特性。通过JDK的动态代理特性,可以为任意Java对象创建代理对象,对于具体使用来说,这个特性使通过Java Reflection API来完成的。在此之前先简要复习一下Proxy模式,其静态类图如下:
我们可以看到有一个RealSubjec...
分类:
编程语言 时间:
2015-06-25 09:05:47
阅读次数:
250
@decorator可以动态实现函数功能的增加,但是,经过@decorator“改造”后的函数,和原函数相比,除了功能多一点外,有没有其它不同的地方?
在没有decorator的情况下,打印函数名:
def f1(x):
pass
print f1.__name__
输出: f1
有decorator的情况下,再打印函数名:
def log(f):
def w...
分类:
编程语言 时间:
2015-06-25 09:04:18
阅读次数:
165
当一个函数有很多参数时,调用者就需要提供多个参数。如果减少参数个数,就可以简化调用者的负担。
比如,int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换:
>>> int('12345')
12345
但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做 N 进制的转换:
>>> int('12345', base...
分类:
编程语言 时间:
2015-06-25 09:02:14
阅读次数:
133
这两种之间的转换主要有两种方式第一就是内置类型转换为用户自定义类型,这里以int类型转换为类类型的对象为例,第二就是类类型转换为int类型
前者依靠转换构造函数,后者依靠自定义的类型转换函数
一.转换构造函数
二.类型转换构造函数
#include
using namespace std;
//转换构造函数只有一个参数,但是有时候这种一个参数的构造函数不仅起到类型转换的作用也起...
分类:
编程语言 时间:
2015-06-25 09:02:17
阅读次数:
116
其实,实现单链表的方法,只是学习一种思想,然后在网上搜索面试中经常出现的单链表问题继续深剖。。。。...
分类:
编程语言 时间:
2015-06-25 09:02:35
阅读次数:
130
函数模板
一.初探函数模板
函数模板的声明形式:
template//template
可以用class来替代typename,聪语义上讲,二者等价。因此,即使在这里使用class,你也可以用任何类型(前提是该类型提供模板使用的操作)来实例化模板参数。另外还应该注意,这种用法和类型声明不同,也就是说,在声明(引入)类型参数的时候,不能用关键字struct代替typenam...
分类:
编程语言 时间:
2015-06-25 09:02:35
阅读次数:
143
//求字符串中第一次只出现一次的字符。
#include
#include
#define _SIZE_ 255
using namespace std;struct Node
{
int index;//存储下标。
int num;//存储个数。
Node() :index(-1), num(0){}
};
char Grial(...
分类:
编程语言 时间:
2015-06-25 08:59:46
阅读次数:
221
61、Spring IoC容器的依赖有两层含义:
Bean依赖容器:也就是说Bean要依赖于容器,这里的依赖是指容器负责创建Bean并管理Bean的生命周期,正是由于由容器来控制创建Bean并注入依赖,也就是控制权被反转了,这也正是IoC名字的由来,此处的有依赖是指Bean和容器之间的依赖关系。
容器注入Bean的依赖资源:容器负责注入Bean的依赖资源,依赖资源可以是Bean、外部文件、常量...
分类:
编程语言 时间:
2015-06-25 09:01:31
阅读次数:
119
71、依赖检查
依赖检查:用于检查Bean定义的属性都注入数据了,不管是自动装配的还是配置方式注入的都能检查,如果没有注入数据将报错,从而提前发现注入错误,只检查具有setter方法的属性。Spring3+也不推荐配置方式依赖检查了,建议采用Java5+ @Required注解方式。在Spring2.5中配置方式的依赖检查有none、simple、object、all四种方式。
1、none:...
分类:
编程语言 时间:
2015-06-25 08:59:03
阅读次数:
241
81、SimpleJdbcTemplate
SimpleJdbcTemplate类也是基于JdbcTemplate类,但利用Java5+的可变参数列表和自动装箱和拆箱从而获取更简洁的代码。
SimpleJdbcTemplate主要提供两类方法:query及queryForXXX方法、update及batchUpdate方法。
82、集成Spring JDBC及最佳实践
大多数情况下Spri...
分类:
编程语言 时间:
2015-06-25 08:58:52
阅读次数:
163
#include
#include
using namespace std;template
struct Node
{
Type data;
Node *left;
Node *right;
Node(Type d = Type()):data(d),left(NULL),right(NUL...
分类:
编程语言 时间:
2015-06-25 08:59:10
阅读次数:
113
在脚本的生命周期中,有Awake, Start, FixedUpdate, Update, LateUpdate等方法,其实这些属于MonoBehaviour类的事件响应方法,是MonoBehaviour类的事件响应方法的一个子集。 在MonoBehaviour类中,也可以分为"启动与刷新函数"和"...
分类:
编程语言 时间:
2015-06-25 08:56:52
阅读次数:
155
day09-031.匿名内部类的使用场景。 Body{ //身体 包括心脏 private class XinZhang{ // 心脏 可以body的成员变量。如果不想被别人访问,加上private } public showXinZang(){ //如果心脏有病的话...
分类:
编程语言 时间:
2015-06-25 08:56:34
阅读次数:
169
21.1. webbrowser — Convenient Web-browser controller Source code: Lib/webbrowser.py 翻译:Z.F. The webbrowser module provides a high-level interface t...
分类:
编程语言 时间:
2015-06-25 08:52:48
阅读次数:
176
Kc.find({bjid:req.params.bjid}).sort({'_id':1}).exec(function(err,kcs){ if(err){ res.json({no:0,msg:err}); }else{ var result = {no:1};...
分类:
编程语言 时间:
2015-06-25 08:53:30
阅读次数:
147
该微型系统实现了联系人的增删改查,以及排序清空等操作。 一个联系人有3 个以下的号码,本来想用邻接表实现对号码的创建及其他操作,但我没法对链表的邻接表进行文件的读取操作,只有对号码数目固定。 下面是源代码 1 #pragma once 2 #ifndef _LIST_H 3 #define...
分类:
编程语言 时间:
2015-06-25 07:47:20
阅读次数:
219