C++ | Operator Overloading | Question 7
Output of following program?
#include <iostream> using namespace std; class Test2 { int y; }; class Test { int x; Test2 t2; public : operator Test2 () { return t2; } operator int () { return x; } }; void fun ( int x) { cout << "fun(int) called" ; } void fun ( Test2 t ) { cout << "fun(Test 2) called" ; } int main() { Test t; fun(t); return 0; } |
(A) fun(int) called
(B) fun(Test 2) called
(C) Compiler Error: Ambiguous call to fun()
Answer: (C)
Explanation: The class Test has two conversion operators overloaded, int and Test2. And there are two fun() for int and Test2.
Quiz of this Question
Please Login to comment...