一、抽象类
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。在面向对象中,抽象类主要用来进行类型隐藏和充当全局变量的角色。
举个例子,“水果”是个抽象类,指可以食用的植物果实和种子,有水分和糖分,但世界上不存在“水果”这个实实在在的东西,它只是一个定义。“苹果”、“香蕉”、“...
分类:
其他好文 时间:
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
C++ 中构造函数可否是虚函数?
绝不要!!
而且,在构造函数中调用虚函数也是不提倡的行为,因为会引发预想不到的结果。
因为,在 derived class 对象构造的过程中,首先调用的是基类的构造函数,等基类构造结束,才开始构造派生类的部分。
这个过程中,编译器将该对象视为 基类,而非派生类(因为,派生类对象的专属部分还未初始化!!!)
所以,如果在构造函数中调...
分类:
编程语言 时间:
2014-04-29 13:47:22
阅读次数:
258
字节对齐详解(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
题目链接: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
类--类的定义和声明【上】引言: 在C++中,用类来定义自己的抽象数据类型。通过定义类型来对应所要解决的问题中的各种概念,可以使我们更容易编写、调试和修改程序。可以使得自己定义的数据类型用起来与内置类型一样容易和直观。 一个前面曾经定义过的类:class Sales_item
{
private:
std::string isbn;
unsigned units_sold;
...
分类:
编程语言 时间:
2014-04-29 13:21:21
阅读次数:
347