ITEEDU

小 结

●结构是用其他类型的元素建立的聚合数据类型。

●结构定义用关键字struct引入,结构体放在花括号({ })中,结构定义以分号结尾。

●结构标志声明结构类型的变量。

●结构定义并没有在内存中保留任何空间,而是生成新的数据类型,用于声明变量。

●使用成员访问运算符(包括圆点运算符和箭头运算符)访问结构成员或类成员。圆点运算符 通过对象的变量名或对象的引用访问结构和类成员。箭头运算符通过对象指针访问结构和类成员。

●通过结构生成新数据类型有一定的缺点,可能出现未初始化的数据。如果struct的实现方法改变,则所有使用这个struct的程序都要改变。没有保护机制保证数据的正确和保持数据的一致状态。

●类使程序员可以构造有属性和行为的对象。C++中用关键字class或struct定义类的类型,通常用关键字class,

●可以用类名声明该类的对象。

●类定义以关键字class开始。类定义体放在左右花括号({ })之间。类定义用分号终止。

●任何可以访问类的对象的函数可以访问任何在public:后面声明的数据成员和成员函数。

●任何在private:后面声明的数据成员和成员函数只能由该类的成员函数和友元访问。

●成员访问说明符总是加上冒号,可以在类定义中按任何顺序多次出现。

●不能在类的外部访问私有数据。

●类的实现方法向客户隐藏。

●构造函数是个特殊成员函数,初始化类对象的数据成员。类的构造函数在生成这个类的对象时自动调用。

●与类同名而前面加上代字符(~)的函数称为类的析构函数。

●类的public成员函数集称为类的接口或public接口。

●在类定义以外定义成员函数时,函数名前面要加上类名和二元作用域运算符(::)。

●尽管类定义中声明的成员函数可以在类定义之外定义,但成员函数仍然在类范围中。

●如果在类定义中定义成员函数,则该成虽函数自动成为内联函数,但编译器有权决定其是否作为内联函数。

●成员函数调用比过程式编程中的传统函数调用更简练,因为成员函数使用的大多数数据可以直接在对象中访问。

●在类范围中,类成员可以简单地用名字引用。在类范围外,类成员是通过对象名、对象引用和对象指针来引用的。

●成员选择运算符.和->用来访问类成员。

●良好软件工程的一个基本原则是将接口与实现方法分离。

●类定义通常放在头文件中,类的成员函数定义放在同一基本名字的源代码文件中。

●类的默认访问模式是private,因此在类名和第一个说明符(例如public:)之间的所有成员都是private类型。

●public成员的主要用途是向类的客户提供类的服务。

●访问类的private数据应当用称为访问函数的成员函数进行控制。如果类允许客户读取Private数据的值,可以提供一个get函数;如果类允许客户修改private数据的值,可以提供一个set函数。

●通常将类的数据成员指定为private,将类的成员函数指定为public,可以有助于调试,因为数据操作问题局部化在类成员函数或类的友元中。有些成员函数保持private,是供类中其他函数使用的工具函数。

●类的数据成员不能在类定义中初始化,应在类的构造函数中初始化或在生成对象之后设置其数值。

●可以重载构造函数。

●类对象初始化之后,操作该对象的成员函数应保证对象处于稳定状态。

●声明类对象时可以提供初始化值,这些初始化值作为参数传递给类的构造函数。

●构造函数可以指定默认参数。

●如果类不定义构造函数,则编译器生成默认构造函数。这种构造函数不进行任伺初始化,因此生成对象时,不能保证处于一致状态。

●自动对象的析构函数在对象离开范围时调用,析构函数本身并不删除对象,而是进行系统放弃对象内存之前的清理工作,使内存可以复用于保存新对象。

●析构函数不接受参数也不返回数值。类只可能有一个析构函数(不能进行析构函数重载)。

●赋值运算符(=)可以将一个对象赋给另一个同类型的对象,这种赋值方式一般通过默认的成员复制来完成。成员复制不适用于所有的类。

术 语

&reference operator  &引用运算符                          constructor    构造函数
abstract data type(ADT)   抽象数据类型                    datamember    数据成员
access function    访问函数                               data type    数据类型
arrow mber selection operator(->)  箭头成员               default constructor  默认构造函数
    选择运算符                                            destrctor    析构函数
attribute    属性                            dot member selection operator(.)  圆点成员选择
behavior    行为                                            运算符
binary scope resolution operator(::)   二元作用域         encapsulation    封装
   运算符                                                 extensibility    可扩展性
class                                                     file scope    文件范围
class member seleclor operator(.)  类成员选择             get function    get函数
运算符                                                    global object    全局对象
class definition    类定义                                header file    头文件
class scope   类范围                                      helper function   帮助函数
client of a class   类客户                           implementation of a class 类的实现方法   
consistent state for a data member  数据成员              information hiding   信息隐藏
  致状态
 initialize a class object  初始化类对象              programmer-defined type  程序员定义类型
  inline member function   内联成员函数                   protected
  instance of a class   类的实例                           proxy class   代理类
  instantiate an object of a class 实例化类对象   public interface of a class  类的public接口
  interface to a class   类的接口                          public
  member access control   成员访问控制                     query function  查询函数
  member access specifiers   成员访问说明符       rapid applications development(RAD)  快速应
  member function  成员函数                                   用程序开发
  member initializer   成员初始化值                        reusable code   可复用代码
  member selection operator(.和->)  成员选择运    scope resolution oprator(::)   作用域运算符
     算符                                              self-referential structure  自引用结构
  memberwise copy    成员复制                              services of a class   类服务
  message   消息                                           set function  set函数
  nonmember function   非成员函数                          software reusability   软件复用性
  nonstati以local object   非静态局部对象                  source-code file  源代码文件
  object   对象                                            static llocal object   静态局部对象
  object-orienteddesign(OOD)  面向对象编程                 structure    结构
  predicate function   判定函数                   tilde(~) in destructor name  析构函数名中的
  principle of least privilege   最低权限原则               代字符
  private                                                  user-defined types   用户自定义类型
  procedural programming    过程式编程                     utility function   工具函数