宝杉的博客

UNIX/LINUX;ACE;SNMP;C++
posts - 33, comments - 23, trackbacks - 0, articles - 0

友元函数与继承类的友元函数

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 ){      ……       }


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理