thanks for your reply
"Frank-O" <fr*****************@gmail.com>
??????:11**********************@f16g2000cwb.google groups.com...
A friend function can be a member of another class :
class A;
class B
{
private :
int j;
public :
B(int j_):j(j_){}
void call(A&);
};
class A
{
private :
int i;
public :
A(int i_):i(i_){}
friend void B::call(A &a);
};
void B::call(A &a)
{
cout << a.i << j << endl;
}
or
class A;
class B
{
private :
int j;
public :
B(int j_):j(j_){}
friend void call(A&,B&b);
};
class A
{
private :
int i;
public :
A(int i_):i(i_){}
friend void call(A &a,B &b);
};
void call(A &a,B &b)
{
cout << a.i << b.j << endl;
}
freegnu wrote:
how to declare a friend function that can access two class
it will look like the following
class A
{
private:
int i;
public:
A(){}
~A(){}
friend void call(A &a, B &b);
};
class A
{
private:
int j;
public:
B();
~B()
friend void call(A &a, B &b);
};
void call(A &a, B &b)
{
cout << a.i << endl << b.j <<endl;
}
------=_NextPart_000_0045_01C6F6B8.F8416B10
Content-Type: text/html; charset=gb2312
Content-Transfer-Encoding: quoted-printable
X-Google-AttachSize: 2408
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>
<DIV class=altbg2 id=code0
style="CLEAR: both; BORDER-RIGHT: #698cc3 1px solid; PADDING-RIGHT: 10px;
BORDER-TOP: #698cc3 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px;
MARGIN: 3px 2em 2em; BORDER-LEFT: #698cc3 1px solid; WORD-BREAK:
break-all; PADDING-TOP: 5px; BORDER-BOTTOM: #698cc3 1px solid;
FONT-FAMILY: fixedsys"><FONT
face=ËÎÌå>how to declare a friend function that can access two
class</FONT></DIV>
<DIV class=altbg2
style="CLEAR: both; BORDER-RIGHT: #698cc3 1px solid; PADDING-RIGHT: 10px;
BORDER-TOP: #698cc3 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px;
MARGIN: 3px 2em 2em; BORDER-LEFT: #698cc3 1px solid; WORD-BREAK:
break-all; PADDING-TOP: 5px; BORDER-BOTTOM: #698cc3 1px solid;
FONT-FAMILY: fixedsys"><FONT
face=ËÎÌå>it will look like the following</FONT></DIV>
<DIV class=altbg2
style="CLEAR: both; BORDER-RIGHT: #698cc3 1px solid; PADDING-RIGHT: 10px;
BORDER-TOP: #698cc3 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px;
MARGIN: 3px 2em 2em; BORDER-LEFT: #698cc3 1px solid; WORD-BREAK:
break-all; PADDING-TOP: 5px; BORDER-BOTTOM: #698cc3 1px solid;
FONT-FAMILY: fixedsys">class
A<BR>{<BR> private:<BR>
int i;<BR> public:<BR>
A(){}<BR>
~A(){}<BR>
friend void call(A &a, B
&b);<BR><BR>};<BR><BR>class A<BR>{<BR> private:<BR>
int
j;<BR> public:<BR>
B();<BR>
~B()<BR> friend void
call(A
&a, B &b);<BR>};<BR><BR>void call(A &a, B
&b)<BR>{<BR> cout << a.i << endl << b.j
<<endl;<BR>}</DIV></FONT></DIV></BODY></HTML>
------=_NextPart_000_0045_01C6F6B8.F8416B10--