●结构是用其他类型的元素建立的聚合数据类型。
●结构定义用关键字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 工具函数