当前位置: 首页 > 文档资料 > C++大学教程 >

7.12 章节小结

优质
小牛编辑
130浏览
2023-12-01

关键字 const 指定的对象不能修改。

C++ 编译器不允许任何非 const 成员函数调用 const 对象。

试图通过类的 const 成员函数修改该类对象的数据成员是个语法错误。

函数在原型和定义中指定为 const。

const 成员函数可以用非 const 版本重载。编译器根据对象是否声明为const自动选择所用的重载版本。

const 对象应初始化。要用成员初始化值向构造函数提供类对象数据成员的初始值。

类可以将其他类对象作为类成员。

成员对象按声明的顺序在构造所在类对象之前构造。

如果不提供成员初始化值.则隐含调用成员对象的默认构造函数。

类的友元函数在类范围之外定义,但有权访问类的所有成员。

友元关系声明可以放在类定义中的任何地方。

this 指针隐式引用对象的数据成员和成员函数。

每个对象都可以通过 this 指针访问自己的地址。

this 指针也可以显式使用。

Rew 运算符自动生成正确长度的对象,调用对象构造函数和返回正确类型的指针。要在C++中释放这个对象的空间.需要使用delete运算符。

对象数组可以用new动态分配,如下所示:
int *ptr = new int[100];
分配100个整数的数组并将数组开始位置指定为ptr。上述整数数组可以用下列语句删除:
delete[] Ptr;

static 类变量表示整个类范围的信息。static类成员的声明以static关键字开始。

static 数据成员的作用域是类范围。

类的 public static 类成员可以通过类的任何对象访问,也可以用二元作用域运算符通过类名访问。

如果成员函数不访问非static类数据成员和成员函数,则可以声明为 static。与非 static 成员函数不同的是,static 成员函数没有 this 指针,因为 static 类数据成员和成员函数是独立于类对象而存在的。

类通常对类的客户隐藏实现细节,这称为信息隐藏。

堆栈是后进先出(LIFO)的数据结构,最后放进堆栈的项目最先从堆栈中取出。

描述类的功能而不管其实现细节称为数据抽象,C++ 类定义所谓的抽象数据类型(ADT)。

C++ 提高了数据的重要性。C++ 中的主要活动就是生成自己的新数据类型(即类)和表达这些数据类型之间的相互作用。

抽象数据类型实际上是在计算机系统中一定程度地近似表示现实世界的概念。

抽象数据类型实际上包含两个概念,即数据表达和该数据允许的操作。

C++ 是可扩展的语言。尽管这个语言可以方便地用新类型扩展,但基础语言本身不能改变。

C++ 是一种定义简练的语言,只向程序员提供了建立各种系统的原始功能。这种语言保证了最小编程负担。

队列中的项目按先进先出(FIFO)顺序出队,第一个插入队列的项目第一个离开队列。

容器类是保存一组对象集合的类。容器类通常提供插入、删除、查找、排序和测试类成员项目等操作。

容器类经常与迭代对象(或简称迭代器)相关联。迭代对象返回集合中的下一个项目(或对集合中的下一个项目进行某种操作)。

向客户提供代理类,代理类只能访问类的 public 接口,这样就可以让客户使用类的服务而不必让客户访问类的实现细节。

代理类惟一的 private 成员是隐藏该类对象的 private 数据的指针。

类定义只使用另—个类的指针时,另一个类的头文件(通常显示该类的 private 数据)不需要用 #include 包含在内。只要在文件中使用该类型之前用提前类声明将另外的这个类声明为一种数据类型即可。

实现文件包含代理类成员函数,该文件包含隐藏该类 private 数据的头文件。

实现文件以预编译对象文件形式和头文件一起提供给客户,该头文件包含代理类提供服务的函数原型。