《C++语言程序设计教程》杨进才 勘误表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C++语言程序设计教程》杨进才勘误表
说明:以下红颜色的为改正后的内容,蓝色为需要去掉的内容。

P171,6.1.3 第8行:全局变量、静态变量、字符串常量、常变量存放在全局数据区;
P173,图6-1
地址
栈顶
0013FF18
0013FF24 栈区
0013FF28 函数的返回地址
栈底
程序入口代码区
004018E8
004018F4
变量
全局数据区
0047773C
00480410
堆区
P173,程序解释后两段:
全局常变量、全局变量、局部静态变量、字符串常量在程序运行前在全局数据区进行分
配。

并且依次按照全局常变量、全局变量、局部静态变量的顺序从低地址向高地址分配。

其中各类变量按定义的先后次序分配,全局变量、局部变量也一样。

当程序运行结束后,各全局数据区各类变量的空间被系统收回,收回的顺序与分配的顺序相同,即:先分配先收回。

P174,程序解释倒数第1段:
变量的生存期为从产生到消失的时期。

全局变量(包括全局常变量)、静态变量、局常变量、字符串常量生存周期为整个程序的生存周期,因此称为静态生存期;局部变量的生存周期起于函数调用,结束于函数调用结束,其生存期是动态的,因此称为动态生存期。

P186 6.5本章小结中第7行:
◇全局变量(包括全局常变量)、静态变量、字符串常量、常变量存放在全局数据区; 所有的函数和代码存放在代码区; 为运行函数而分配的函数参数、局部auto变量、返回地址存放在栈区。

堆区用于动态内存分配。

◇全局变量(包括全局常变量)、静态变量、字符串常量、常变量生存周期为整个程序的生存周期,因此称为静态生存期;局部auto变量的生存周期起于函数调用,结束于函数调用结束,其生存期是动态的,因此称为动态生存期。

P187 习题6:
(3) C++程序的内存分为四个区:________, ________, ________, ________。

全局变量(包括全局常变量)、静态变量、字符串常量、常变量存放在_______区,所有的函数和代码存放在________区,为运行函数而分配的函数参数、局部变量、返回地址存放在_______区。

动态分配的内存在_________区。

(4) 全局变量(包括全局常变量)、静态变量、字符串常量、常变量具有______生存期;局部变量生存期为_______。

P189,习题6(9):
A. 100, 1000 B. 1000,10 C.1000, 1000 D.100,10
P197,7.1.4 倒数第3行:
在Clock类中,H、M、S的存取控制属性为private。

这样,这些数据不能在类外存取而被保护,下列存取方法是错误的:
P225,第2行:
除了在初始化时可以在类外通过类对静态成员赋初值外,其他情况下对静态成员的存取规则与一般成员相同。

即:在类内可以任意存取;在类外,通过类名与对象只能访问存取属性为public的成员。

P225,7.4.2中第9行:
1通过类名调用静态成员函数
静态成员函数为类的全体对象而不是部分对象服务,与类相联系而不与类的对象联系,因此访问静态成员函数时,可以直接使用类名。

格式如下:
通过类名访问静态成员函数同样受静态成员函数访问权限的控制。

P250,习题8中第7题:
(7) 定义一个字符串类String,增加下列成员函数:
(a) bool IsSubstring(const char *str); 判断str是否为当前串的子串;
(b) bool IsSubstring(const String & Str); 判断str是否为当前串的子串;
P297,运行结果中第4行:
C=A-B=(110,180)
Rp.area()=0
total area:3769.91。

相关文档
最新文档