- 博客(12)
- 资源 (5)
- 收藏
- 关注
转载 详解virtual table(转)
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过
2011-11-28 16:12:49 1742
转载 一个困惑的类层次设计根据:回调函数,避免向下类型转换(转)
class Element{virtual void doSomething();};ElementTree{Element * getElementInTree() {return data[i];}void setElementInTree(Element* e) { e->doSomething(); i++; data[i]=e;}private:Ele
2011-11-28 10:44:31 695
原创 Delphi access violation
1. 错误信息:Project *.exe raised exception class EAccessViolation with message... 源程序:procedure TForm1.FormCreate(Sender: TObject);begin form2.Show ;end; 原因:一般情况下不能在主窗体创建的时候 show 另一个窗体,因
2011-11-17 15:59:57 1137
原创 软件工程|软件生命周期
软件生命周期各阶段1. 软件开发最初的工作应是问题定义,也就是确定要求解决的问题是什么;2. 然后要进行可行性研究,决定该问题是否存在一个可行的解决办法;3. 接下来应该进行需求分析,也就是深入具体地了解用户的要求,在所要开发的系统(不妨称之为目标系统)必须做什么这个问题上和用户取得完全一致的看法;4. 经过上述软件定义时期的准备工作才能进入开发时期,而在开发时期首先需要对
2011-11-17 09:32:31 5107
原创 开发人员与用户沟通要点
工作上:1. 任何不清楚的需求模块、细节都要整理好与用户一一确认。2. 有任何疑问都要记录下来,做过简单调查之后就要与用户沟通,不要盲目去猜测或满足所有的情况的需求,节省下来的时间是自己的!如果不及时沟通,浪费的时间也是自己的!对公司对自己都有好处!3. 摆事实讲道理,有意识的去引导对方(把握好度,不要偏离用户的基本需求) 心理上:1. 端正态度,不要低声下气
2011-11-15 15:33:49 1250
转载 克服拖延
最近某网站上出现了一篇人气很高的帖子,“拖延”人类纷纷跟帖,公布自己曾经因拖延付出的代价:“我是一名体育记者,有一次因玩‘空当接龙’游戏错过了对刘翔的采访。”“我是一名大四的学生,因为拖延我失掉了学业、丢掉了文凭,现在我不知道该怎么办?”“我因为拖延错过了一次出书的机会。” “我为此付出的代价是升职的机会。”…… 我们为何会拖延? 最新美国知名心理学家兼作家,尼尔·菲奥里在
2011-11-06 19:14:19 551
转载 需求分析
需求分析需求的特性:1. 完整性、明确性: 比如:“产品应在不少于每60秒的正常周期内提供状态信息”,应加以完善(细化、明确): 1.1(条件、动作主体、动作本身、动作修饰、动作效果)后台任务管理器因该以误差上 下不超过10秒的60秒间隔,在用户界面的指定位置显示状态信息 1.2(正常进行)如果后台进程处理正常,那么应该显示任务已完成的百分数/比
2011-11-05 10:19:12 388
转载 栈的应用 算术表达式的计算
参见 http://www.cnblogs.com/michaelhuwei/tag/%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%AE%A1%E7%AE%97/
2011-11-03 23:01:37 427
转载 【C++】友元类和友元函数(转)
C++总结 友元类和友元函数 友元函数: 友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,但它必须在类体内进行声明,它不属于任何类,声明时只需在友元的名称前加上关键字friend,其格式如下: friend 类型 函数名(形式参数); 友元函数的声明可以放在类的私有部分,也可以放在公有部分,它们是没有区别的,
2011-11-02 21:36:51 410
转载 数组名称和指针变量加减后,实际指向的值(转)
int main(int argc, char ** argv) { int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int*)(&a + 1); printf("%d, %d", *(a + 1), *(ptr - 1)); return 0; } 这个程序打印出的结果应该是 2, 5。 因为在指针移位时,是以sizeof(
2011-11-01 17:58:27 737
转载 delphi 之 self (转)
组件有拥有其他组件的性能。一个组件的拥有者是由它的Owner属性指定的。如果一个组件拥有其他组件,则当它被析构时,它负责释放它拥有的组件。通常,窗口拥有在它上面出现的所有组件。如果你在窗口设计时把组件放置在窗口上,窗口将自动成为组件的拥有者。当你在运行期间创建一个组件时,必须向组件的Create构造器传递组件的拥有关系;它被设置为新组件的Owner属性。下面一行语句表示了如何向TB
2011-11-01 10:58:09 1859
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人