Relational Operator Distance Example using Operator Overloading in C++


The code defines a Distance class that represents a distance measurement in feet and inches. It overloads the - operator to create a negative value of a Distance object, and the < operator to compare two Distance objects. It also provides a displayDistance() method to print the value of a Distance object.

In the main() function, two Distance objects D1 and D2 are created and compared using the < operator. If D1 is less than D2, a message is printed indicating that D1 is less than D2; otherwise, a message is printed indicating that D2 is less than D1.

The code is a good example of operator overloading and class member functions. It demonstrates how operator overloading can be used to provide intuitive and concise syntax for complex operations, and how class member functions can be used to encapsulate data and behavior within a single object.

Source Code

#include <iostream>
using namespace std;
class Distance
{
  private:
    int feet;
    int inches;
  public:
    Distance()
    {
       feet = 0;
       inches = 0;
    }
    Distance(int f,int i)
    {
       feet = f;
       inches = i;
    }
    void displayDistance()
    {
       cout<<"F: "<<feet<<" I:"<<inches<<endl;
    }
    Distance operator- ()
    {
       feet = -feet;
       inches = -inches;
       return Distance(feet, inches);
    }
    bool operator<(const Distance& d)
    {
       if(feet<d.feet)
       {
         return true;
       }
       if(feet==d.feet && inches<d.inches)
       {
         return true;
       }
       return false;
    }
};
int main()
{
   Distance D1(11,10),D2(5,11);
   if(D1<D2)
   {
     cout<<"D1 is less than D2"<<endl;
   }
   else
   {
     cout<<"D2 is less than D1"<<endl;
   }
   return 0;
}
To download raw file Click Here

Output

D2 is less than D1

Program List


Flow Control

IF Statement Examples


Switch Case


Goto Statement


Break and Continue


While Loop


Do While Loop


For Loop


Friend Function in C++


String Examples


Array Examples


Structure Examples


Structure & Pointer Examples


Structure & Functions Examples


Enumeration Examples


Template Examples


Functions


Inheritance Examples

Hierarchical Inheritance


Hybrid Inheritance


Multilevel Inheritance


Multiple Inheritance


Single Level Inheritance


Class and Objects

Constructor Example


Destructor Example


Operator Overloading Example


Operator and Function Example


List of Programs


Pointer Examples


Memory Management Examples


Pointers and Arrays


Virtual Function Examples