2013年11月17日

C++中的模版

摘要: 模板程序设计的基本概念:编写不依赖于具体数据类型的程序将算法从特定的数据结构中抽象出来,成为通用的C++的模板为模板程序设计奠定了关键的基础函数模板:由于重载函数的功能相同,仅参数类型不同。若能对重载函数的参数类型做抽象表达,即使用统一形式表达,则可以大大简化源程序。函数模板的定义格式:Template返回值类型 函数名(参数裂变){函数体}格式说明:Template:关键字,用于定义模板。一对尖括号:界定模板的参数列表。class (或typename):关键字,用于定义抽象类型T(也可以用其他标识符表示)。模板参数表可包含多个类型参数,参数间用逗号分隔。T1、T2等表示抽象类型函数模板:通 阅读全文

posted @ 2013-11-17 21:04 娟娟细流 阅读(218) 评论(0) 推荐(0) 编辑

2013年11月16日

C++中的多态性

摘要: 多态性是指当不同的对象收到相同的消息时产生不同的动作。多态性使软件中的对象行为更加符合软件所模拟的客观世界中对象的行为多样性,为软件设计中的功能实现和任务调度提供了灵活性。C++ 支持两种多态性:编译时多态性和运行时多态性。 编译时的多态性:通过函数重载或运算符重载实现。重载的函数根据调用时给出的实参类型或个数,在程序编译时就可确定调用哪个函数。只使用编译时多态性机制的程序设计只能称为基于对象(Object Based)的程序设计,使用了运行时多态性机制,才能称为是面向对象(Object Oriented)的程序设计。编译多态性的局限性:由于编译多态性是通过函数重载实现的,因此对象行为的确定( 阅读全文

posted @ 2013-11-16 16:36 娟娟细流 阅读(1230) 评论(0) 推荐(0) 编辑

2013年10月28日

inline函数

摘要: inline函数又称为内敛函数或内置函数,该方法的思想实在编译时调用函数的代码直接嵌入到调用函数处。引入它的主要原因是用它替代C中表达式形式的宏定义。C语言中表达式的宏定义形式为: #define S(t) t*t那么为什么要用inline函数取代表达式的宏定义形式呢? C语言是一个效率很高的语言,这种宏定义在形式及使用上像一个函数,但它使用预处理器实现,没有了参数压栈、代码生成等一系列的操作,因此,效率很高,这是它在C中被使用的一个主要原因;表达式的宏定义在形式上类似于一个函数,但在使用它时,仅仅只是做预处理器符号表中的简单替换,因此它不能进行参数有效性的检测,也就不能享受C++编译器严格. 阅读全文

posted @ 2013-10-28 20:21 娟娟细流 阅读(380) 评论(0) 推荐(0) 编辑

2013年10月27日

宏定义和常变量

摘要: 在C语言中用#define定义符号常量,且#define通过编译预处理命令完成。如: #define PI 3.14实际上,只是在程序预编译时进行字符的置换,将所有的PI替换成3.14.在预处理结束以后,程序中将没有PI这个符号。使用符号常量比直接使用常量更直观,我们还可以用符号表示一定的意义;在程序维护中如果需要改变常量的值,只需要在#define命令中修改就可以了。使用符号常量需要注意的问题: 一是符号常量不是变量,在程序运行时不分配内存单元,只是在编译预处理阶段将标识符替换成所代表的常量; 二是符号常量没有类型,在编译时不进行类型检查; 三是替换后的表达式和预想的表达式不一定一致。在C+ 阅读全文

posted @ 2013-10-27 18:58 娟娟细流 阅读(891) 评论(0) 推荐(0) 编辑

导航