Skip to main content

Friend function in c++

Hello friends, in this post today, we learn about Friend function in c++ and how to use Friend function in c++. so lets start...

Friend function in c++, Friend function
Friend function in c++





Friend function:-

Friend  function as a friend of a class and can allow that friend function to access private and protected data members of that class.


Friend functions are mostly used where two or more classes want to share a common function.


Important points about Friend Function. 


friend is a keyword. A friend function is created by placing the keyword friend in the function declaration but not in function definition. And function definition must be defined outside the class to which it is friend.


It is not a member function of the class but it have full access to the public, private and protected data member of the class.


A friend function is not a member function of the class and cannot be called from any object of the class using dot operator.


The arguments of friend functions are usually objects of the class to which it is a friend.


It should not be defined with membership label.


It cannot access the member names directly.


A friend function can be friend of more than one class.


A function of one class can be a friend of another class.


We can have whole class as a friend of another class.


We use friend function usually with multiple classes but can used with single class also.


A friend function can be declared in the public or private visibility mode without affecting its meaning.


There can be any number of friend functions of a class.


It is not in the scope of the class to which it has been declared as friend.



Syntax of friend function:-

class class_demo
{
   Access modifiers:
   data members;
   members functions;

  friend data_type function_name (parameters);  // friend function declaration
};

data_type function_name (parameters)  //definition
{
   function definition;
}

.

Example:

#include <iostream>
using namespace std;
class friend_fn
{
   public:
   int n;

   public:
   void input(int x)
    {
      n=x;
    }

    friend int square(friend_fn);
    friend int cube(friend_fn);
};


   int square(friend_fn f)
   {
     return f.n * f.n;
   }


int cube(friend_fn f)
   {
     return f.n*f.n*f.n;
   }


int main( )
{

  friend_fn F;
  F.input(6);
  cout<<"Square is="<<square(F)<<endl;;
  cout<<"cube is="<<cube(F)<<endl;
  return 0;
}

Output:-

Square is=36
cube is=216




I hope that whatever information I have given in this post today, you have liked it and you have understood it.so keep learning and wait for the next post that will help you to increase your knowledge with the something new information.

Thank you so much for reading. And take care about yourself and your family.



Comments

Popular posts from this blog

'this' pointer in c++

Hello friends, i n this post today, we learn about 'this' pointer in c++ and what is the  use  of   'this'  pointer .  so lets start... this pointer in c++ 'this' pointer:- The this pointer is a special pointer which is a built-in pointer. and  'this' is a keyword. It stores the  address of current object in context. That is the current object which can be referred using this  pointer anywhere in the class. Important Points About this Pointer:- The this pointer can be used only inside the class i.e., only  inside the member function of the class and cannot be used outside and  static member of the class. The object’s address is available from within the member function as the this pointer. It  is legal, through unnecessary, to use this pointer when referring to members of the class. The  expression (*this) is commonly used to return the current object from a member function. this is a local object pointer in every instanc...

What is reference variable in c++

Hello friends, in this post today, we learn about What is reference variable in c++. and what is its major use  in c++ . so lets start... Reference variable in c++ Reference variable:- Reference variable is a new concept in C++. A reference variable is a variable which provides an alias (alternative name) for a previously defined variable or any constant. Reference variable is an internal pointer. Declaration of reference variable is preceded with & symbol ( but do not read it as ‘address of ‘). Reference variable must be initialized during declaration. It can be initialized with already declared variables only. Reference variables can not be updated. This mechanism is useful in object oriented programming because it permits the manipulation of objects by reference, and eliminates the copying of object parameters back and forth. It is also important to note that references can be created not only for built-in data types but also for user- defined data types. Syntax: Data_...

What is new and delete operator in c++

Hello friends, in this post today, we learn about What is new and delete operator in c++ . so lets start... new and delete operator  Memory Management Operators of C++:- The technique through which a program can obtain space in the RAM during the execution  of the program and not during compilation is called dynamic memory allocation. In this method space for the variables (array, strings, structure etc) is allocated from a free memory region which is known as heap.  For dynami c memory management, C++ provides two unary operator 'new' and 'delete'. Dynamic memory allocation is the allocation of memory at run time i.e., when program  executes then required memory is asked from the user and memory is allocated with the help of operator new. Syntax of new : data_type *ptr = new data_type; Here ptr is a variable of data_type. Memory is allocated by finding the size of data_type  automatically by the compiler and address of the allocated memory is returned which is ...