- 26
- 0
- 约1.67万字
- 约 86页
- 2016-12-13 发布于江西
- 举报
第 9 章 类的高级部分 皮德常 南京航空航天大学 计算机科学与技术学院 主要内容 9.1 静态成员 例:一个学生类,定义其对象张三、李四,他们分别维护着类成员的一份副本(学号、姓名、籍贯等)。 如果要统计一个班学生总数? 用类外的变量记录,违背了数据封装。 用类的一个数据成员记录,导致多个副本,不仅冗余,而且势必造成数据不一致。 9.1.1 静态数据成员 1. 用关键字static声明; 2. 同一个类中的所有对象都共享该变量; 3. 必须在类外定义和初始化,用(::)来指明所属的类。 4. 静态变量不依赖于对象而存在,无论是否定义该类的对象,这种类型的变量都存在。静态数据成员实际上是在类外定义的一个变量,它的生存期和整个程序的生存期一样,在定义对象之前,静态数据成员就已经存在。 9.1.2 静态函数成员 静态函数成员是类中的一个函数,有static修饰。 静态函数成员和静态数据成员类似,在对象生成之前也已经存在。这就是说在对象产生之前,静态的函数成员就能访问其它静态成员。 类外代码可以使用类名和作用域操作符来调用静态成员函数。 静态成员函数只能引用属于该类的静态数据成员或静态成员函数。见例【例9-2】。 9.2 友元函数 引入友元的原因? 1. 友元函数不是类中的函数成员,但它和类的函数成员一样,可以访问类中定义的私有成员。 2. 友元函数可
原创力文档

文档评论(0)