C++动态特性和C++对象模型——《高质量程序设计12章》

1.动态特性

静态特性和动态特性,编译时和运行时

虚函数

(1)虚函数的叫覆盖,虚函数不是实现多态的唯一手段(其他语言也可能采用别的方法)。

抽象基类:

时间: 2024-10-16 15:00:35

C++动态特性和C++对象模型——《高质量程序设计12章》的相关文章

《高质量程序设计指南C/C++语言》笔记总结

在对林锐,韩永泉编著的<高质量程序设计指南C/C++语言>的学习中,我从中了解到了很多编程的小细节和重要的概念,特总结规整如下: 1.标准C语言允许任何非void类型的指针和void类型的指针之间进行直接的相互转换.但在C++中,可以把任何类型的指针直接指派给void类型指针,因为void*是一种通用指针:但是不能反过来将void类型指针直接指派给任何非void类型的指针,除非进行强制转换.因此在C语言环境中我们就可以先把一种具体类型的指针如int*转换为void*类型,然后再把void*类型

《高质量程序设计指南C/C++语言》 林锐 韩永泉编著 总结3

第 9 章  类的构造函数.析构函数与赋值函数 1.构造函数初始化表的使用规则: 1)如果类存在继承关系,派生类必须在其初始化表里调用基类的构造函数. 2)类的 const 常量只能在初始化表里被初始化,因为它不能在函数体内用赋值的方式来初始化. 3)类的数据成员的初始化可以采用初始化表或函数体内赋值两种方式,这两种方式的效率不完全相同. 2. 类 String 的构造函数与析构函数 // String 的普通构造函数 String::String(const char *str) { if(s

内存管理(高质量程序设计语言C/C++第16章笔记)

内存的分配方式: 1.静态存储区分配:全局变量,static变量等,在程序编译时已经分配了存储内存,在程序运行的整个期间一直存在 2.程序的堆栈上:程序的局部变量,包括程序的形参等,只存在于程序的运行期间 3在堆heap上分配的:动态内存分配,malloc或者new 常见的内存错误: (1)内存分配未成功,却使用它了.记得malloc时要判断返回的是否是NULL,若为NULL则说明动态分配内存失败 (2)内存分配成功了要记得初始化,malloc完了 calloc :(元素个数,元素大小),cal

C++,C程序设计入门——《高质量程序设计第4章》

1. 连接规范 1. extern “C” 2. 一部分采用C的连接规范 #ifdef __cplusplus extern "C" { #endif #ifdef __cpluscplus } #endif 2. 变量 1)全局变量(static或者extern)存放在程序的静态数据区中,在程序进入main()之前创建,在main()结束之后销毁. 2)函数内的static局部变量和类的static数据成员都具有static存储类型,因此被转移到程序的静态存储区,也会默认初始化0 3

《高质量程序设计指南C/C++》 林锐 韩永泉编著 总结2

第 3 章  命名规则 1.共性规则: 规则1.标识符应当直观且可以拼读,可望文知意,不必进行"解码". 规则2.标识符的长度应当符合"min-length&& max-information"原则. 规则3.命名规则尽量与所采用的操作系统或开发工具的风格保持一致. 规则4.程序中不要出现仅靠大小写区分的相似的标识符. 例如: int x,  X;    // 变量 x 与 X 容易混淆 void foo(int x);  // 函数 foo 与 F

《高质量程序设计指南C/C++语言 》 林锐,韩永泉编著 总结1

第 1 章  文件结构 1.头文件由三部分内容组成: (1)头文件开头处的版权和版本声明. (2)预处理块. (3)函数和类结构声明等. 规则1.为了防止头文件被重复引用,应当用 ifndef/define/endif 结构产生预处理块. 规则2.用  #include <filename.h>  格式来引用标准库的头文件(编译器将从标准库目录开始搜索) . 规则3. #include  "filename.h"  格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜

对象初始化,拷贝,析构——《高质量程序设计第13章》

(1)当未定义时,编译器会自动生成:构造函数,拷贝构造函数,析构函数,赋值构造函数. 1. 构造函数与析构函数: 初始化列表: (1)构造函数的初始化列表里发生在下面函数体的前面. (2)可以在初始化列表里向基类的特定构造函数传递参数. (3)类的非静态const成员和引用成员只能在初始化列表里初始化,因为他们不能被赋值. (4)当使用初始化列表来初始化数据成员时,编译器对各个成员的初始化顺序并不是按照列表里的顺序的而是按照 它们在类里面的声明的顺序的(当然基类的更早),特别是成员间存在依赖关系

Js高设笔记1-2章

1,js是由ECMAscript ,dom ,bom组成的专为网页交互而设计的脚本语言.js是脚本语言之一. 2,MIME,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开.多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式. 3,外部文件,放在head中的外部文件,会先解释js后呈现body内容,遇上js多的时候,为不让用户久等而现在一般都会把js放到body的内容最后.(p12) defer(延迟脚本):整个页面都

高质量C++/C编程指南

http://man.chinaunix.net/develop/c&c++/c/c.htm#_Toc520634042 文件状态 [  ] 草稿文件 [√] 正式文件 [  ] 更改正式文件 文件标识: 当前版本: 1.0 作    者: 林锐 博士 完成日期: 2001年7月24日 版 本 历 史 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐 2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐 2001-7-18至 2001-7-24 朱洪海