Hello Everyone,
I am trying to implement an overloaded < operator. I found the code below at
I am trying to use this as a tutorial, but I don't understand what is happening on line 23-24. I am also a little fuzzy on line 9.
Why can't it be written like this?
Box(double aLength, double aWidth, double aHeight) {}
Here is the "tutorial"
#include <iostream>
#include <cstdlib>
#include <ctime>
using std::cout;
using std::endl;
class Box {
public:
Box(double aLength, double aWidth, double aHeight):length(aLength), width(aWidth), height(aHeight) {}
double volume() const {
return length*width*height;
}
double getLength() const { return length; }
double getWidth() const { return width; }
double getHeight() const { return height; }
inline bool operator<(const Box& aBox) const { //returns volume to be used in main()
return volume() < aBox.volume();
}
inline bool operator<(const double aValue) const { //what is this doing?
return volume() < aValue; //what is this doing?
}
private:
double length;
double width;
double height;
};
int main() {
Box firstBox(17.0, 11.0, 5.0);
if(firstBox < 100000){
cout << "less than";
}else{
cout << "not less than";
}
return 0;
}