operator overlaoding using friend function

 #include <iostream>

using namespace std;

const int s = 3;

class vector

{

private:

int v[s];

public:

vector();

vector(int* x);

friend vector operator*(int a, vector b);

friend vector operator*(vector b, int a);

friend istream& operator>>(istream&, vector&);

friend ostream& operator<<(ostream&, vector&);

};

vector::vector()

{

for (int i = 0; i < s; i++)

{

v[i] = 0;

}

}

vector::vector(int *x)

{

for (int i = 0; i < s; i++)

{

v[i] = x[i];

}

}

vector operator *(int a, vector b)

{

vector c;

for (int i = 0; i < s; i++)

{

c.v[i] = a * b.v[i];

}

return c;

}

vector operator *(vector b, int a)

{

vector c;

for (int i = 0; i < s; i++)

{

c.v[i] = b.v[i]*a;

}

return c;

}

istream& operator>>(istream&din, vector& b)

{

for (int i = 0; i < s; i++)

{

din >> b.v[i];

}

return din;

}

ostream& operator<<(ostream& dout, vector& b)

{

for (int i = 0; i < s; i++)

{

dout << b.v[i] << " ";

}

return dout;

}

int x[s] = { 2,3,4 };

int main()

{

vector m;

vector n = x;

cout << "Enter the elements of vector m " << endl;

cin >> m;

cout << "m: " << m<<endl;

cout << "n: " << n<<endl;

vector p, q;

p = 2 * m;

q = n * 2;

cout << "p: " << p<<endl;

cout << "q: " << q<<endl;

return 0;

}



Comments

Popular posts from this blog

Write a program to store the roll no. (starting from 1), name and age of 5 students and then print the details of the student with roll no. 2.