• USA : +1 973 910 5725
  • INDIA: +91 905 291 3388
  • info@tekslate.com
  • Login

Friend Function and Friend Classes in C++

Friend function

A non-member function cannot access private member of the class or object.

Member function can access private members of “same type or same class or object.

There could be a situation where more than one class where a function required to access private members of more than one type.

If function is declared as friend of any class, it can able to access private members.

Friend function is a non-member function, it is called like normal function. It is not bind with any object (OR) It is not called with object name.

Friend function in C++ cannot private members of directly it is having parameters of type class.

Friend return type function –name(parameters);

 

Example of Friend Function in C++

#include <iostream.h>

#include<conio.h>

class beta

class alpha

{

int x;

public:

void read-x();

friend void compare (alpha,bets);

};

class beta

{

int y;

public:

void read-y();

friend void compare(alpha,beta);

};

void alpha::read-x()

{

cout<<”\n Input x”;

cin>>x;

}

void beta::read-y()

{

cout<<”\n Input y@;

cin>>y;

}

void compare (alpha a, beta b)

{

if(

cout<<”\n Equal”;

else

cout <<”\n Not equal”;

}

void main()

{

alpha alpha1;

beta beta1;

alpha1.read-x();

beta1.read-y();

compare(alpha1,beta1);

(friend function)

}

 

Screenshot_21

 

 

#include <iostream.h>

#include<conio.h>

class Marks;

class Student

{

int rno;

char name[10];

public:

void read-student();

friend void find result(student name);

class marks

{

int sub1,sub2;

public:

void read-Marks();

friend void find –result (student,Marks);

};

void student:: read-student()

{
cout<<”\n Input rollno”;

cin>>rno;

cout<<”\n Input name”;

cin>>name;

}

void marks:: read-marks()

{

cout<<”\n  Input Marks”;

cin >>sub1>>sub2;

}

void find –result(student s,Marks M)

{

cout<<”\n Roll no”<<S.rno;

cout<<”\n Name”<<s.name;

if (M.sub1<40 M.sub2<40)

 

Screenshot_22

 

 

O/p:

Input name

RAM

Input roll no

101

Input Marks

 

//Friend function which operates on similar type objects

#include<iostream.h>

#include<conio.h>

class complex

{

float real,img;

public:

void read_complex();

void print_complex();

friend complex add-complex(complex,complex);

};

void complex::read_complex()

{

cout<<”\n Input real”);

cin>>real;

cout<<”\n Input img”;

cin>>img;

}

void complex:: print_complex()

{

cout<<”\n real=”<<real;

cout<<”\n img=”<img;

}

complex add_complex(complex c1,complex c2)

{

complex c3;

c3.real= c1.real+c2.real;

c3.img=c1.img+c2.img;

return c3;

}

void main()

{

clrscr();

complex comp1,comp2,comp3;

comp1.read_complex();

comp2.read_complex();

comp3=add__complex(comp1,comp2);

comp1.print__complex();

comp2.print__complex();

comp3.print__complex();

}

O/p Input real

1.1

input img

Friend class in C++

A friend of class can be function or class ,having full access rights to use private members

Syntax of Friend Class

friend class-name;

Example of Friend Class in C++

# include<iostream.h>

class student

{

int rno;

char name[10];

friend Marks;

};

class Marks

{

int sub1,sub2;

student stud;

public:

void read_marks()

{

cout<<”\n Input rno”;

cin>>stud.rno;

cout<<”\n Input Name;

cin>>stud.name;

cout <<”\n Input two subjects”;

cin>> stud.name;

cout<<”\n Input two subjects”;

cin>> stud.name;

cout<<”\n Input two subjects”;

cin>>sub1>>sub2;

}

void find-result()

{

cout<<”\n Roll no”<<stud.rno;

cout<<”\n Name”<<stud.name;

if(sub1<40|| sub2<40)

cout<<”\n Result Fail”;

else

cout<<”\n Result Pass”;

}};

void Main()

{

Marks stud1;

stud1.read_Marks();

stud1.find_result();

}

 

Example

# include <iostream,h>

class address

{

char hno[10];

char street[10];

public:

void read_address()

{

cout<<”\n Input hno”;

cin>>hno;

cout<<”\n Input street”;

cin>>street;

}

friend person;

};

class person

{

char name[10];

public:

void read_name()

{

cout<<”\n Input Name”;

cin>>name;

}

void print_details(address a)

{

cout<<”\n Name”<<name;

cout<<”\n Hno”<<a.hno;

cout<<”\n Street”<<a.street;

}};

void main()

{

Person p1;

address p1add;

p1.read_name();

p1add.read_address();

p1.print_details(p1add);

}

 

 

“At TekSlate, we are trying to create high quality tutorials and articles, if you think any information is incorrect or want to add anything to the article, please feel free to get in touch with us at info@tekslate.com, we will update the article in 24 hours.”

0 Responses on Friend Function and Friend Classes in C++"

Leave a Message

Your email address will not be published. Required fields are marked *

Site Disclaimer, Copyright © 2016 - All Rights Reserved.