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