Según este código, qué necesito aprender para hacerlo?
-
Hola, me gustaría saber qué es lo que me hace falta aprender para poder hacer estos códigos.
Son de clase, vamos que son los que estamos haciendo, pero estoy muy perdido, así por encima, me
perdí en los punteros, pero que yo sepa, hemos dado: herencias, templates, clases, funciones,
y no se.... lo que podeis ver en el código que adjunto, a ver si me podeis echar un cable, simplemente
quiero que me digais lo que me convendría aprender bien para poder realizar algo así.
Se que es simple, porque no tendrá gran cosa, así que imagino que como aquí hay mucho experto, me podreis ayudar.
Gracias 1 saludo
Ah, el lenguaje es C/C++ y usamos el Borland C++
Pegar esto en el navegador para bajarlo (Porque si pulsas directamente, no te deja)
http://usuarios.lycos.es/oskurillo/images/Codigo.rar -
Mmm... no estoy seguro de estar contestándote la pregunta, pero para poder realizar ese código deberías saber:
* Clases
* Plantillas ( templates )
* Punteros
* Sobrecarga de operadores
La sobrecarga de operadores implica el saber utilizar las clases
El saber utilizar las clases implica el saber utilizar funciones :P
Listo, deberías saber eso... -
Ok, lo único que no me queda claro es lo de la Sobrecarga de operadores. Eso tiene un nombre en concreto?O puedo buscar por google Sobrecarga de operadores en C++ y obtendré respuesta??Gracias, el resto me pondré a estudiarlo ya que tengo un libro de c++ y varios manuales bajados de internet
-
Si, poniendo sobrecarga de operadores en C++ vas a encontrar resultados. Cuando aprendas sobrecarga de operadores te vas a dar cuenta lo cómodo que puede llegar a ser el C++
jaja
Sobrecarga de operadores:
Esto sería un fragmento de código bastante normal:Pero cuando trabajas con clases no podés hacer objeto C = objeto B + objeto A o si ?? bueno, la respuesta es si, esto se logra gracias a la sobrecarga de operadores ej:Código:int a, b, c; a = 2; b = 3; c = a + b;
El resultado de eso sería c.x = 5, c.y = 8, porque gracias a la sobrecarga de operadores el compilador sabe como tiene que sumar o restar o comparar dos objetos, ya que usa la función que vos le digas para hacerlo, pero bue... cuando leas sobre esto vas a saberCódigo:punto_2D a (2 ,3 ),b ( 3, 5 ), c; c = a + b;
Suerte !!! -
aca te pongo un ejemplo
voy a crear una clase q se llama binomio, asi queda todo facil, y voy a sobrecargar los operadores = y ==
class binomio
{
int x, y;
binomio (); //constructor
binomio (int a, int b) {x=a;y=b;};
void operator= (binomio&);
bool operator== (binomio&);
};
void binomio :: operator= (binomio& AUX) //no dejes espacios entre los :: y las dos
//palabras q estan alrededor
{
x=AUX.x;
y=AUX.y;
}
bool binomio :: operator== (binomio& AUX)
{
if ((x==AUX.x)&&(y=AUX.y))
{return true;}
else{return false;}
}
tonces vos despues en el main lo llamas asi
Supone q este programa te carga en BIN2 el valor de BIN1 si BIN1 es distinto q BIN2
int main ()
{
//los declaras
binomio BIN1();
binomio BIN2();
/*aca los cargas, esto te lo dejo a vos
.....
.....
....
*/
if (!(BIN1==BIN2))
{
BIN2=BIN1;
}
//bueno aca seguis tu programa
return 0;
}
espero q te sirva esto
saluT
}
