 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
freegnu Guest
|
Posted: Mon Oct 23, 2006 9:11 am Post subject: how to declare a friend function that can access two class |
|
|
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;
} |
|
| Back to top |
|
 |
Frank-O Guest
|
Posted: Mon Oct 23, 2006 9:11 am Post subject: Re: how to declare a friend function that can access two cla |
|
|
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:
| Quote: | 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-- |
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|