一、抽象类
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。在面向对象中,抽象类主要用来进行类型隐藏和充当全局变量的角色。
举个例子,“水果”是个抽象类,指可以食用的植物果实和种子,有水分和糖分,但世界上不存在“水果”这个实实在在的东西,它只是一个定义。“苹果”、“香蕉”、“...
分类:
其他好文 时间:
2014-04-29 13:48:23
阅读次数:
201
首先,做一个最简单的实验,在电脑上运行下面的代码,将会产生运行错误,这或许会使你百思不得其解:
#include
using namespace std;
class Base
{
private:
int a;
public:
~Base(){cout << "Base dtor..." << endl;}
};
class Derived : public Base
{...
分类:
其他好文 时间:
2014-04-29 13:48:21
阅读次数:
357
字节对齐详解(32位系统),其他位系统类似。...
分类:
其他好文 时间:
2014-04-29 13:46:20
阅读次数:
252
1.stable_sort 和 sort的区别在于 前者作排序可以使原来的"相同"的值在序列中的相对位置不变
如 1 4 6 7 4' (4 和 4'值相等,加上' 表示是2个元素)
那么stable_sort能保证排序完 4 仍然在4' 前 也就是输出1 4 4' 6 7;但是sort 没有这个功能,算法不能保证这一点
2.在标准算法中的一部分算法 如果这个算法默认使用的是
...
分类:
其他好文 时间:
2014-04-29 13:45:20
阅读次数:
273
什么是语言处理程序?
它是一类系统软件的总称。还是不懂?那好吧,我们把它给拆了? 拆完后=“语言”+“处理”+“程序”
首先,是什么类型的语言呢?是编程语言;处理即操作。程序
就不用说了吧。这里其实是给大家买了一个关子。简单的说语言处理程序就是:用来对编程语言进行处理的一类程序。
那么为什么要对编程语言进行操作呢?这不得...
分类:
其他好文 时间:
2014-04-29 13:41:21
阅读次数:
305
所谓的模板方法模式,就是定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法结构就可重新定义算法的某些特定步骤。
理论总是需要实践去证明的,接下来就让我们以文章开头的大碗面为例,举例细说模板方法模式。
食堂的大碗面分有鸡排,排骨面等等,面的叫法不一样,但是做法一样,加的原料也差不多,葱,香菜,汤。唯一的不同就是加排骨还是鸡排。...
分类:
其他好文 时间:
2014-04-29 13:37:21
阅读次数:
288
1.简单工厂模式:由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现
2.策略模式:定义一系列的算法,把它们一个个封装起来,并且是他们可以相互替换。使得算法可以独立于使用它的客户而变化。
3.装饰模式:动态的给一个对象添加一些额外的职责,比生成子类更加灵活。
4.代理模式:为其他对象提供一种代理控制对这个对象的访问...
分类:
其他好文 时间:
2014-04-29 13:34:21
阅读次数:
328
定义了一个elevator_noop的调度器类型:
static struct elevator_type elevator_noop = {
.ops = {
.elevator_merge_req_fn = noop_merged_requests,//查询一个request,用于将bio并入
.elevator_dispatch_fn = noop_dispatch,/...
分类:
系统相关 时间:
2014-04-29 13:33:20
阅读次数:
830
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2173
思路:
类似于传递闭包的性质
用矩阵mp[i][j] 表示i点到j点 走1次的最短路
--------------
若我们用 mp[i][j] 表示从i点到j点 走了k次的最短路距离
那么我们要通过 矩阵mp 得到 矩阵 ret[u][v] 表示 u->v 走了2*k次的最短路
就...
分类:
其他好文 时间:
2014-04-29 13:24:20
阅读次数:
386
deadline算法的核心就是在传统的电梯算法中加入了请求超时的机制,该机制主要体现在两点:
1、请求超时时,对超时请求的选择。
2、没有请求超时时,当扫描完电梯最后一个request后,准备返回时,对第一个request的选择。基于以上两点,平衡了系统i/o吞吐量和响应时间。
此外,该算法还考虑到了读操作对写操作造成的饥饿。
定义了elevator_deadline调度器类型:
...
分类:
系统相关 时间:
2014-04-29 13:13:21
阅读次数:
548