answersLogoWhite

0


Best Answer

by: THE DJ AK
www.the-dj-ak.webs.com
www.thedjak.co.nr
www.thedjak.webs.com


What is a Friend Function?

A friend function is a special function in c++ which inspite of not being member fuction
of a class has privalage to access private and protected data of a class.

A friend function is a non member function of a class, that is declared as a friend using
the keyword "friend" inside the class. By declaring a function as a friend, all the access
permissions are given to the function.

A friend function is used for accessing the non-public members of a class.
A class can allow non-member functions and other classes to access its own
private data, by making them friends. Thus, a friend function is an ordinary
function or a member of another class.





Need for Friend Function:

As discussed in the earlier sections on access specifiers, when a data
is declared as private inside a class, then it is not accessible from outside
the class. A function that is not a member or an external class will not
be able to access the private data. A programmer may have a situation where
he or she would need to access private data from non-member functions and
external classes. For handling such cases, the concept of Friend functions
is a useful tool.





How to define and use Friend Function in C++:

The friend function is written as any other normal function, except
the function declaration of these functions is preceded with the keyword
friend. The friend function must have the class to which it is declared as
friend passed to it in argument.






Some important points to note while using friend functions in C++:

* The keyword friend is placed only in the function declaration of the friend
function and not in the function definition.
.
* It is possible to declare a function as friend in any number of classes.
.
* When a class is declared as a friend, the friend class has access to the
private data of the class that made this a friend.
.
* A friend function, even though it is not a member function, would have the
rights to access the private members of the class.
.
* It is possible to declare the friend function as either private or public.
.
* The function can be invoked without the use of an object. The friend function
has its argument as objects, seen in example below.






properties of friend function:

1. if a function to be made friend of a class than it should be declared within body
of the class priciding with keyword friend.

2.freind function never breaks the security.

3.it should not be defined in name of class nor scope resolution operator is used in it's
defination even the keyword freind is also not used while defining friend function.

4.when friend function is called nither name of object nor dot operator is used. however
it may accept the object as argument who's value it want's to access.

5.it doen't matter in which section of the class we have declared a freind function.







Example to understand the friend function:


#include
class exforsys
{
private:
int a,b;
public:
void test()
{
a=100;
b=200;
}
friend int compute(exforsys e1)

//Friend Function Declaration with keyword friend and with the object of class exforsys to which it is friend passed
to it
};

int compute(exforsys e1)
{
//Friend Function Definition which has access to private data
return int(e1.a+e2.b)-5;
}

main()
{
exforsys e;
e.test();
cout<<"The result is:"<
//Calling of Friend Function with object as argument.
}

The output of the above program is

The result is:295

The function compute() is a non-member function of the class exforsys. In order
to make this function have access to the
private data a and b of class exforsys , it is created as a friend function
for the class exforsys. As a first step,
the function compute() is declared as friend in the class exforsys as:

friend int compute (exforsys e1)







disadvantage of friend functions is that they require an extra line
of code when you want dynamic binding. To get the effect of a virtual friend,
the friend function should call a hidden (usually protected:) virtual[20]
member function.

User Avatar

Wiki User

14y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: Explain the advantages and disadvantages of friend functions?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

Advantages and disadvantages of Nintendo DS lite?

Advantages: You Can Play Loads Of Games On Them They Come In Alsorts Of Coulors You Can Play A Game With Your Friend At The Same Time By Wireless Disadvantages: They Can Be Expensive They Break Easily The Wirless Sometimes Does Not Work


Advantages and disadvantages of having friends in school?

a best friend is always there when u need help but the disadvantage is that they do trahison


Essay on advantages and disadvantages of having too many friend?

An essay on having too many friends may include the advantages of this as well as the disadvantages. A person may feel one or two close friends is preferable to several casual acquaintances.


How do I stop a friend from getting scammed?

Explain to him what you have noticed. Show him the disadvantages of continuing in such program. Use examples to teach him as well.


What are the advantages and disadvantages of a transnational corporation?

it is toms nudist friend so manu are beast 2-0 to manu


What are the advantages and disadvantages of single family?

You dont have to deal with your Girl Friend/Boy Friend or Husband/Wife. Your kid's won't have to deal with you fighting. Your kid's won't be crying ALL the time. That's all I can think or advantages.I really can't think of disadvantages.


What are the Advantages and disadvantages of a single family?

You dont have to deal with your Girl Friend/Boy Friend or Husband/Wife. Your kid's won't have to deal with you fighting. Your kid's won't be crying ALL the time. That's all I can think or advantages.I really can't think of disadvantages.


What are the advantages and disadvantages of having a girl friend?

they use up all the bed and have to much make up and want kids thank you xxx


What are the advantages and the disadvantages of single parent family?

You dont have to deal with your Girl Friend/Boy Friend or Husband/Wife. Your kid's won't have to deal with you fighting. Your kid's won't be crying ALL the time. That's all I can think or advantages.I really can't think of disadvantages.


What are the advantages and disadvantages of single - parent family?

You dont have to deal with your Girl Friend/Boy Friend or Husband/Wife. Your kid's won't have to deal with you fighting. Your kid's won't be crying ALL the time. That's all I can think or advantages.I really can't think of disadvantages.


Can there be friend functions in c plus plus?

Yes, there can be friend functions in C++.


What to do when your friend doesnt want to be your friend anymore and you were just talking to someone?

let them explain then you can explain and try to work things out with them.