What will be the output of the following C++ code?
#include <iostream>
#include <string>
using namespace std;
class Box{
int capacity;
public:
Box(){}
Box(double capacity){
this->capacity = capacity;
}
bool operator<(Box b){
return b.capacity < this->capacity? true : false;
}
};
int main(int argc, char const *argv[])
{
Box b1(10);
Box b2 = Box(14);
if(b1 < b2){
cout<<"B1's capacity is small";
}
else{
cout<<"B2's capacity is small";
}
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class Box{
int capacity;
public:
Box(){}
Box(double capacity){
this->capacity = capacity;
}
bool operator<(Box b){
return b.capacity < this->capacity? true : false;
}
};
int main(int argc, char const *argv[])
{
Box b1(10);
Box b2 = Box(14);
if(b1 < b2){
cout<<"B1's capacity is small";
}
else{
cout<<"B2's capacity is small";
}
return 0;
}A. B1's capacity is small
B. B2's capacity is small
C. Error
D. Segmentation fault
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