Menú principal

martes, 8 de septiembre de 2020

Producto de escalar por vector - Sobrecarga de operadores - C++

Se quiere realizar un programa que multiplique un escalar por un vector. Ambos datos serán introducidos por el usuario. Además se pide sobrecargar el operador de entrada, de salida y de producto. El código es el siguiente:

 1 #include <iostream>
 2  using namespace std;
 3  
 4  class miVector
 5  {
 6      int x,y;
 7  public:
 8      miVector(int cx=0, int cy=0)
 9      {
10          x=cx;
11          y=cy;
12      }
13      friend istream& operator>>(istream &in, miVector &v);
14      friend ostream& operator<<(ostream &out, miVector v);
15      friend  miVector operator*(const int &escalar, const miVector &v);
16  };
17  
18  istream& operator>>(istream &in, miVector &v)
19  {
20      in>>v.x>>v.y;
21      return in;
22  }
23  
24  ostream& operator<<(ostream &out, miVector v)
25  {
26      out << "(" << v.x << "," << v.y << ")";
27      return out;
28  }
29   miVector operator*(const int &escalar, const miVector &v)
30   {
31       miVector vm(escalar*v.x, escalar*v.y);
32       return vm;
33   }
34  int main()
35  {
36      miVector v, vmulti;
37      int escalar;
38  
39      cout << "Intro coordenadas de vector: ";
40      cin >>v;
41  
42      cout << "Intro escalar que multiplica al vector: ";
43      cin >> escalar;
44  
45      cout << endl << v << " * " << escalar << " = " << escalar*v << endl ;
46      return 0;
47  }

No hay comentarios:

Publicar un comentario