What will be the output of the following C++ code?
#include <iostream>
#include <cmath>
using namespace std;
class Complex
{
private:
double real;
double imag;
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i)
{}
double mag()
{
return getMag();
}
operator double ()
{
return getMag();
}
private:
double getMag()
{
return sqrt(real * real + imag * imag);
}
};
int main()
{
Complex com(3.0, 4.0);
cout << com.mag();
cout << com;
return 0
}
#include <iostream>
#include <cmath>
using namespace std;
class Complex
{
private:
double real;
double imag;
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i)
{}
double mag()
{
return getMag();
}
operator double ()
{
return getMag();
}
private:
double getMag()
{
return sqrt(real * real + imag * imag);
}
};
int main()
{
Complex com(3.0, 4.0);
cout << com.mag();
cout << com;
return 0
}A. 5 5
B. 4 5
C. 6 6
D. 7 5
Answer: Option A
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