What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class sample
{
public:
sample(int i) : m_i(i) { }
public:
int operator()(int i = 0) const
{
return m_i + i;
}
operator int () const
{
return m_i;
}
private:
int m_i;
friend int g(const sample&);
};
int f(char c)
{
return c;
}
int main()
{
sample f(2);
cout << f(2);
return 0;
}
#include <iostream>
using namespace std;
class sample
{
public:
sample(int i) : m_i(i) { }
public:
int operator()(int i = 0) const
{
return m_i + i;
}
operator int () const
{
return m_i;
}
private:
int m_i;
friend int g(const sample&);
};
int f(char c)
{
return c;
}
int main()
{
sample f(2);
cout << f(2);
return 0;
}A. 3
B. 4
C. 5
D. 6
Answer: Option B
Related Questions on Classes and Objects in C plus plus
A. A collection of functions
B. A reserved keyword in C++
C. A blueprint for creating objects
D. A way to declare arrays of data
Which keyword is used to create an object of a class in C++?
A. new
B. create
C. object
D. None of the above
A. A reserved keyword in C++
B. An instance of a class
C. A way to declare arrays of data
D. None of the above
What is the purpose of a constructor in C++?
A. To hide the implementation details of a class
B. To create multiple instances of a class
C. To initialize the object's data members
D. To destroy the object

Join The Discussion