感悟:
画了大概11个番茄,把《大话设计模式》这本书从头到尾翻了一遍。画了一张导图。整本书介绍了面向对象和设计
模式,但显然这两部分是不可分割的。每个设计模式都是面向对象思想的灵活运用,无不体现着封装,继承,多态,最
终归结为抽象二字。
正如“精彩的代码是如何想出来的,要比看到精彩的代码更加令人期待”。每个设计模式中闪动的思想的光芒,总
让人心动不已。
过去,我...
分类:
其他好文 时间:
2014-07-22 23:04:15
阅读次数:
335
标准模板库STL1、泛型程序设计C++语言的核心优势之一就是便于软件的重用C++中有两个方面体现重用:
1.面向对象的思想:继承和多态,标准类库
2.泛型程序设计(genericprogramming)的思想:模板机制,以及标准模板库STL简单地说就是使用模板的程序设计法。将一些常用的数据结构(.....
分类:
其他好文 时间:
2014-05-01 12:19:51
阅读次数:
434
class Person def initialize(name,age=18) @name=name
@age=age @motherland="China" end def talk puts "my name is " ...
分类:
其他好文 时间:
2014-05-01 12:08:53
阅读次数:
297
首先,做一个最简单的实验,在电脑上运行下面的代码,将会产生运行错误,这或许会使你百思不得其解:
#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
从开始看STL源码到今天差不多有一个月的时间了,在这研读STL源码过程中确实学习到了很多,深深被大师们的设计思想所打动。其中使用迭代器的思想是其STL的最大的亮点,通过泛型编程,是得所有的容器对外都提供统一的访问接口,而屏蔽掉了各个容器底层实现的细节。相对了面向对象的编程,泛型编程同样能够实现多态的功能,而且还具有更高的安全性以及效率,因为泛型编程就是编译期间就已经决定了变量的类型。...
分类:
其他好文 时间:
2014-04-29 13:36:19
阅读次数:
701
接口的基本概念:接口的访问权限是public,关键字interface,子类通过implements关键字实现接口。一个子类可以同时实现多个接口。
对象的多态性:
两种体现形式:(1)方法的重载与覆写。(2)对象的多态性。
对象的多态性分两种:
(1)向上转型:子类对象——→父类对象
(2)向下转型:父类对象——→子类对象...
分类:
编程语言 时间:
2014-04-29 13:27:22
阅读次数:
256
小米面试
我:
一面:
数据结构+算法:
斐波那契数列:非递归-迭代
1MB内存,外存-100W整数,排序,O(1)-位图法
设计模式:
代理模式:OO
C++:虚函数表
二面:
数据结构+算法:
快排
二叉树遍历
设计模式:
单例模式-多线程:
关系数据库的特性
进程和线程的区别
三面:
数据结构+算法:...
分类:
移动开发 时间:
2014-04-29 13:17:19
阅读次数:
606
1.虚函数在类内部声明,形式为:
virtual (形参列表)
虚函数的声明比普通函数多一个virtual,公有派生类中可以省略virtual关键字,派生类中重写虚函数,必须要求返回值类型形参列表一致,否则会发生同名覆盖。派生类只有在公有继承的方式继承基类时,才会有虚函数的正常使用。使用虚函数的例子:
# include
using namespace std;
# include...
分类:
其他好文 时间:
2014-04-27 22:22:20
阅读次数:
273