3.1类的声明及定义 构造顺序:按定义的顺序构造 析构顺序:在退出对象的作用域的时析 构,析构时按定义的逆序析构。 n 常量对象的作用域局限于当前表达式语句, 语句结束时析构 ·局部非静态对象的作用域局限于当前函数, 由当前函数析构 ·静态对象和全局对象的作用域为整个程序, 由收工函数析构
3.1 类的声明及定义 构造顺序:按定义的顺序构造。 析构顺序:在退出对象的作用域的时析 构,析构时按定义的逆序析构。 常量对象的作用域局限于当前表达式语句, 语句结束时析构 局部非静态对象的作用域局限于当前函数, 由当前函数析构 静态对象和全局对象的作用域为整个程序, 由收工函数析构
3.1类的声明及定义 例3.3的输出: CONSTRUCT:String varible 1 逆序 CONSTRUCT:String varible 2 析构 CONSTRUCT:Constant DECONSTRUCT:Constant 语句结束,析构常量 RETURN DECONSTRUCT:String varible 2 DECONSTRUCT:String varible 1
3.1 类的声明及定义 例3.3的输出: CONSTRUCT: String varible 1 CONSTRUCT: String varible 2 CONSTRUCT: Constant DECONSTRUCT: Constant RETURN DECONSTRUCT: String varible 2 DECONSTRUCT: String varible 1 语句结束,析构常量 逆序 析构
3.2访问权限 封装机制规定了数据成员、函数成员和类型成员的 访问权限。三类权限: private::私有成员,仅限于由本类成员访问,派生类的成 员不能访问。其他类的成员函数和C的函数不能访问。 protected:保护成员,由本类和其派生类的成员访问。 其他类的成员函数和C的函数不能访问。 public:公有成员,任何实体均可访问。 注意:成员继承到派生类后,访问权限可能发生变 化。如果一个(成员或C的)函数为该类的友员,则 该函数可访问该类的任何成员。通过强制类型转换 可突破访问权限
3.2 访问权限 封装机制规定了数据成员、函数成员和类型成员的 访问权限。三类权限: private:私有成员,仅限于由本类成员访问,派生类的成 员不能访问。其他类的成员函数和C的函数不能访问。 protected: 保护成员,由本类和其派生类的成员访问。 其他类的成员函数和C的函数不能访问。 public: 公有成员,任何实体均可访问。 注意:成员继承到派生类后,访问权限可能发生变 化。如果一个(成员或C的)函数为该类的友员,则 该函数可访问该类的任何成员。通过强制类型转换 可突破访问权限
13.2访问权限 缺省权限:进入由class定义的类体时,缺省的 访问权限为private;进入由struct和union定义 的类体时,缺省的访问权限为oublic(同C兼 容) ■访问形式:取值,赋值,引用、调用、取地 址,取内容等。 ·构造函数和析构函数可为任何访问权限,访问 时要遵守相应权限。注意:构造函数在定义对 象时隐式调用,不能显式调用,也不能取地 址,否则通过函数指针便可显式调用
3.2 访问权限 缺省权限:进入由class定义的类体时,缺省的 访问权限为private;进入由struct和union定义 的类体时,缺省的访问权限为public(同C兼 容)。 访问形式:取值,赋值,引用、调用、取地 址,取内容等。 构造函数和析构函数可为任何访问权限,访问 时要遵守相应权限。注意:构造函数在定义对 象时隐式调用,不能显式调用,也不能取地 址,否则通过函数指针便可显式调用