Posted on 2007-08-03 12:55
宝杉 阅读(1005)
评论(0) 编辑 收藏 引用 所属分类:
C++
友元函数一般在类中声明,如果一个友元需要访问多个类的对象,那么每个类都要声明一次友元函数。
还要注意:友元函数的入口包括多个类,那这些类都要在友元函数之前声明。
如例子:Diary files\C++exams\frnd_vst2_func
如果是类person的两个继承他的子类boy和girl,那么友元函数如何声明和定义。
Diary files\C++exams\frnd_member
这需要注意的地方有:
基类的数据成员共有;构造函数;构造函数初始化表;类的声明先于友元函数,提高了重用性;
基类的数据成员必须共有,因为构造函数会访问到它们,子类的构造函数也会引用基类的构造函数,如果是私有的会是的子类构造函数不能直接访问基类的私有成员,要通过基类的成员函数来访问。
子类:public基类
还有写细节问题:
头文件;char *a的声明和使用;分配char*数据;
例如:
char *name;
name = new char[ strlen( s ) + 1 ];
友元函数的声明时的入口参数可以只写类型,不写参数名。
例如:
class boy
{
……
void disp( gril & );
}
注意声明时的入口参数可省略,但要写&。
定义时,写成
void disp( gril &x ){ …… }