answersLogoWhite

0

What is friend function and its advantages?

Updated: 8/18/2019
User Avatar

Wiki User

8y ago

Best Answer

The best way to understand the advantage of friend functions is to consider that a member function has the following properties:

1. Private access to the class representation.

2. Scoped to the class.

3. Can be invoked upon an instance of the class (has a this pointer).

A static member function only has the first two properties while a friend function only has the first property. All other function have none of these properties. This gives the programmer fine-grained control over which functions can access which parts of the class representation.

User Avatar

Wiki User

8y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is friend function and its advantages?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

What are the advantages of reproduction as a function of the family?

what are the advantages of reproduction as a function the family?


Departmentalization by function advantages and disadvantages?

what are advantages & disadvantages of departmentalization by function


What are some advantages of a function table in math?

it shows the function of things


Explain the advantages and disadvantages of friend functions?

by: THE DJ AKwww.the-dj-ak.webs.comwww.thedjak.co.nrwww.thedjak.webs.comWhat is a Friend Function?A friend function is a special function in c++ which inspite of not being member fuctionof 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 usingthe keyword "friend" inside the class. By declaring a function as a friend, all the accesspermissions 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 ownprivate data, by making them friends. Thus, a friend function is an ordinaryfunction or a member of another class.Need for Friend Function:As discussed in the earlier sections on access specifiers, when a datais declared as private inside a class, then it is not accessible from outsidethe class. A function that is not a member or an external class will notbe able to access the private data. A programmer may have a situation wherehe or she would need to access private data from non-member functions andexternal classes. For handling such cases, the concept of Friend functionsis a useful tool.How to define and use Friend Function in C++:The friend function is written as any other normal function, exceptthe function declaration of these functions is preceded with the keywordfriend. The friend function must have the class to which it is declared asfriend 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 friendfunction 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 theprivate data of the class that made this a friend..* A friend function, even though it is not a member function, would have therights 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 functionhas 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 bodyof 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'sdefination 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. howeverit 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:#includeclass 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 passedto it};int compute(exforsys e1){//Friend Function Definition which has access to private datareturn int(e1.a+e2.b)-5;}main(){exforsys e;e.test();cout


What are advantages and disadvantages of transfer functions approach?

advantages and disadvantages of transfer function?


What is the difference between friend function and normal member function?

We can access a Friend function from any other class in which friend function is introduced or declared even if the other class is not a member of first class. But when we use normal member function, we can have its access only in the derived classes of the first class. This is the basic difference between a friend function and a normal member function.


Advantages of organizing as function of management?

it saves time


What is the difference between friend function and inheritance in c plus plus?

There is no such thing. When declaring a friend function only the explicitly-scoped friend is granted private access. The friend function may well be declared virtual within its own class but none of its overrides are granted access unless they are explicitly granted access.


Can a friend function be friend with more than one class?

yes


What are the advantages in using a rule for a function rather than listing function values in a table?

If the domain is infinite, it is not possible to list the function.


Give the advantages and disadvantages of grouping a business by function?

Give_the_advantages_and_disadvantages_of_grouping_a_business_by_function


What are the advantages of sigmoidal function in neural network?

its derivative is easy to compute