MCQs
The keyword friend is placed only in the function declaration of the friend function and not in
the function definition because it is used toaccess the member of a class.
None.
What is the output of this program?
1.
#include
2.
using namespace std;
3.
class sample
4.
{
5.
private:
6.
int a, b;
7.
public:
8.
void test()
9.
{
10.
a = 100;
11.
b = 200;
12.
}
13.
friend int compute(sample e1);
14.
};
15.
int compute(sample e1)
16.
{
17.
return int(e1.a + e1.b) - 5;
18.
}
19.
int main()
20.
{
21.
sample e;
22.
e.test();
23.
cout
In this program, we are finding a value from the given function by using the friend for compute function.
Output:
$ g++ friend4.cpp
$ a.out
295
What is the output of this program?
1.
#include
2.
using namespace std;
3.
class base
4.
{
5.
int val1, val2;
6.
public:
7.
int get()
8.
{
9.
val1 = 100;
10.
val2 = 300;
11.
}
12.
friend float mean(base ob);
13.
};
14.
float mean(base ob)
15.
{
16.
return float(ob.val1 + ob.val2) / 2;
17.
}
18.
int main()
19.
{
20.
base obj;
21.
obj.get();
22.
cout << mean(obj);
23.
return 0;
24.
}
In this program, We are finding the mean value by declaring the function mean as a friend of class base.
Output:
$ g++ friend3.cpp
$ a.out
200
What is the output of this program?
1.
#include
2.
using namespace std;
3.
class sample;
4.
class sample1
5.
{
6.
int width, height;
7.
public:
8.
int area ()
9.
{
10.
return (width * height);}
11.
void convert (sample a);
12.
};
13.
class sample
14.
{
15.
private:
16.
int side;
17.
public:
18.
void set_side (int a)
19.
{
20.
side = a;
21.
}
22.
friend class sample1;
23.
};
24.
void sample1::convert (sample a)
25.
{
26.
width = a.side;
27.
height = a.side;
28.
}
29.
int main ()
30.
{
31.
sample sqr;
32.
sample1 rect;
33.
sqr.set_side(6);
34.
rect.convert(sqr);
35.
cout
In this program, we are using the friend for the class and calculating the area of the square.
Output:
$ g++ friend2.cpp
$ a.out
36
What is the output of this program?
1.
#include
2.
using namespace std;
3.
class sample
4.
{
5.
int width, height;
6.
public:
7.
void set_values (int, int);
8.
int area () {return (width * height);}
9.
friend sample duplicate (sample);
10.
};
11.
void sample::set_values (int a, int b)
12.
{
13.
width = a;
14.
height = b;
15.
}
16.
sample duplicate (sample rectparam)
17.
{
18.
sample rectres;
19.
rectres.width = rectparam.width * 2;
20.
rectres.height = rectparam.height * 2;
21.
return (rectres);
22.
}
23.
int main ()
24.
{
25.
sample rect, rectb;
26.
rect.set_values (2, 3);
27.
rectb = duplicate (rect);
28.
cout
In this program, we are using the friend function for duplicate function and calculating the area
of the rectangle.
Output:
$ g++ friend1.cpp
$ a.out
24
None.
In option a, the class2 is the friend of class1 and it can access all the private and protected
members of class1.
Friend is used to access private and protected members of a class from outside the same class.
What is the output of this program?
1.
#include
2.
using namespace std;
3.
class Box
4.
{
5.
double width;
6.
public:
7.
friend void printWidth( Box box );
8.
void setWidth( double wid );
9.
};
10.
void Box::setWidth( double wid )
11.
{
12.
width = wid;
13.
}
14.
void printWidth( Box box )
15.
{
16.
box.width = box.width * 2;
17.
cout
We are using the friend function for printwidth and multiplied the width value by 2, So we got the output as 20
Output:
$ g++ friend.cpp
$ a.out
20