下载此文档

F第4部分对象型方法高级应用及性能.ppt


文档分类:IT计算机 | 页数:约65页 举报非法文档有奖
1/65
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/65 下载此文档
文档列表 文档介绍
F第4部分对象型方法高级应用及性能
将指针显式赋值为0,可以预防对无用指针(已经删除、没有初始化等)的再次无意使用所带来的不安全问题!
其他问题
set成员函数对输入参数的合法性检查,可以增加类成员属性的有效性!
、Protected或Private成员!(对于Protected和Private,不需要经过Public访问函数 );
可以以函数原型形式放在类定义文件(.h)的任何位置,但一般提倡放在定义文件的开始位置;形式是: friend 返回类型 函数名(函数参数);
在类实现文件( .cpp)中定义friend函数的具体实现时,不能用类名前缀!形式是:返回类型 函数名(函数参数){ … };而不是:返回类型 类名::函数名(函数参数){ … };
friend函数不能用this指针!
一批重载函数可以作为某个类的friend函数;friend函数可以是普通函数,也可以使某个类的成员函数。
friend函数必须在类定义时显式的指定!
friend函数一般用在下列三种场合:需要快速直接访问类的Protected或Private成员;运算符重载时,第一个运算量不是对象类型而是一般类型;建立多个类的关系运算。
friend函数、 friend类及其作用
关于friend类:
用于将某个类的所有成员函数指定为本类的友元(friend)函数!
形式是:
class A {
friend class B;

};
B的所有成员函数都可以直接操纵A的成员!
friend特性会破坏封装特性(信息隐藏)!

类的friend关系不支持对称性(symmetric)和传递性(transitive),必须通过显式说明!
事实上,friend特性是建立多个非同族类运算关系的一种高效实现方法和机制!
Examples: ~
Self-Study Section
对于模板类: template < typename T > class X
friend void f1();
friend void f2( X<T> & );
friend void A::f3();
friend void C<T>::f4( X<T>& );
friend class Y;
friend class Z<T>;
普通函数f1是模板类X的所有特化类的友元函数,即f1是特化类X<int>、X<double>、X<string>等等的友元函数。
普通函数f2是模板类X的所有特化类中某一个具有同样类型参数的特化类的友元函数,即 f2(X<float>&)是特化类X<float>的友元函数; f2(X<string>&)是特化类X<string>的友元函数。
类A的成员函数f3是模板类X的所有特化类的友元函数。
另一个具有同样类型参数的模板类C的成员函数f4是X的所有特化类中某一个具有同样类型参数的特化类的友元函数。
类Y的所有成员函数是模板类X的所有特化类的友元函数。
另一个具有同样参数类型的模板类Z的所有成员函数是模板类X的所有特化类中某一个具有同样类型参数的特化类的友元函数。
其中给出的各种友元关系及其含义:
friend函数、 friend类及其作用
类模板可以和全局函数、另一个类(可能是一个类模板特化)的成员函数、整个类(可能是一个类模板特化)确定其友元关系
类可以有同名的友元函数和成员函数,它们都是不同的函数
一个函数可以同时是一个类的成员函数又是另一个类的友元函数
friend函数、 friend类及其作用
作用是:消除函数调用!
inline函数(内联函数)
关于inline函数:
可以是类的成员函数,也可以是不属于任何类的普通函数。
通过在函数返回类型前用关键词inline说明。
inline函数一般适合比较小、但需要频繁调用的函数!
尽管inline函数会提高执行性能,但会使整个程序代码增大!
inline函数在编译时替换,替换遇到的问题有:常量表达式求值、临时对象、局部变量设置、参数副作用等
注意inline函数大小与指令缓冲的问题(可能会导致系统颠簸而失去其应有的高性能)
inline函数(内联函数)
替换遇到的问题
mutable类成员
一种替换const_cast的机制,是一种存储类别限定符!
作用是:具有mutable限制符的成员属性总是可以修改的,即使它处于一个const对象中!
对于const对象,其const成员函数中可以通过const_cast达到修改成员属性的目的。但每次修改都

F第4部分对象型方法高级应用及性能 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数65
  • 收藏数0 收藏
  • 顶次数0
  • 上传人孔乙己
  • 文件大小1.19 MB
  • 时间2022-07-29