Write a program overload binary division operator.
#include<iostream> using namespace std; class A { private: float x,y; public: A(float a,float b); A(); void print(); A operator /(A&); //friend A& operator /(A&,A&); }; #if 0 //using friend function A& operator /(A& ob1,A& ob2) { static A t; t.x = ob1.x / ob2.x; t.y = ob1.y / ob2.y; return t; } #else //using member function A A :: operator /(A &ob) { A temp; temp.x = x / ob.x; temp.y = y / ob.y; return temp; } #endif A :: A(float a,float b):x(a),y(b) { cout << "parameterized constructor" << endl; } A :: A() { cout << "default constructor" << endl; } void A :: print() { cout << "x = " << x << " y = " << y << endl; } int main() { A obj1(10,20),obj2(20,10),obj3; obj3 = obj1 / obj2;//obj3 = obj1.operator/(obj2) for member function obj1.print(); obj2.print(); obj3.print(); return 0; }
Output
parameterized constructor parameterized constructor default constructor default constructor x = 10 y = 20 x = 20 y = 10 x = 0.5 y = 2