What are friend functions ? Is it possible for a function to be friend of two classes ? If yes then how is it implemented in C++. Explain with suitable example. ---PU-2016 (New Course)

Sep 10, 2018

Please refer to the other posts for the defination of friend functions,

Of course, a function can be friend of two classes.

The following example program illustrates the concept.

// prgoram that accesses the private 
//properties of the objects of two 
//classes class A, and class B

#include<iostream>
using namespace std;

class B;
class A{
	private:
		char password[10];
	public:
		void readPass(){
			cout<<"Enter Password for A:"<<endl;
			cin>>password;
		}
		//friend function declaration
		friend void myFriendFunction(A a, B b);
};

//defination of class B
class B{
	private:
		char password[10];
	public:
		void readPass(){
			cout<<"Enter Password for B:"<<endl;
			cin>>password;
		}
		//friend function declaration
		friend void myFriendFunction(A a, B b);
};

// defination of friend function
void myFriendFunction(A a, B b){
	cout<<"Password of A: "<<a.password<<endl;
	cout<<"Password of B: "<<b.password<<endl;
}

int main(){
	A aa;
	B bb;
	aa.readPass();
	bb.readPass();
	myFriendFunction(aa, bb);
	return 0;
} 

 

Sample Run:

Enter Password for A:
hello1A
Enter Password for B:
hello2B
Password of A: hello1A
Password of B: hello2B

 

Related


Tools/Apps





© Nepal Exchange Rates