elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  POO
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: POO  (Leído 724 veces)
Beginner Web


Desconectado Desconectado

Mensajes: 557


youtu.be/0YhflLRE-DA


Ver Perfil
POO
« en: 4 Diciembre 2018, 00:25 am »

Hola estuve dos dias estudiando POO y vine para corroborar si aprendí o no POO, despues sigo pasando programas para que me den sus opiniones
Tengo la clase Racional el fichero racional.h
Código
  1. #ifndef RACIONAL_H
  2. #define RACIONAL_H
  3.  
  4. #include <iostream>
  5. #include <math.h>
  6.  
  7. using namespace std;
  8.  
  9. class racional{
  10. public:
  11. racional(int a2=0, int b2=0) : num(a2), den(b2) {}
  12.  
  13. void guardar(int a2, int b2);
  14. void leer(int &a2, int &b2);
  15.  
  16. void suma(const racional, const racional);
  17. void resta(const racional, const racional);
  18. void potencia(const racional &, int valor);
  19.  
  20. float decimal(float d);
  21.  
  22. void mostrar();
  23. private:
  24. int num, den;
  25. };
  26.  
  27. void racional::guardar(int a2, int b2)
  28. {
  29. num=a2;
  30. den=b2;
  31. }
  32.  
  33. void racional::leer(int &a2, int &b2)
  34. {
  35. a2=num;
  36. b2=den;
  37. }
  38.  
  39. void racional::suma(const racional Uno, const racional Dos)
  40. {
  41. num=Uno.num*Dos.den+Uno.den*Dos.num;
  42. den=Uno.den*Dos.den;
  43. }
  44.  
  45. void racional::resta(const racional Uno, const racional Dos)
  46. {
  47. num=Uno.num*Dos.den-Uno.den*Dos.num;
  48. den=Uno.den*Dos.den;
  49. }
  50.  
  51. void racional::potencia(const racional &R, int valor)
  52. {
  53. num=pow(R.num,valor);
  54. den=pow(R.den,valor);
  55. }
  56.  
  57. float racional::decimal(float d)
  58. {
  59. d=float(num)/float(den);
  60. return d;
  61. }
  62.  
  63. void racional::mostrar()
  64. {
  65. cout<<"Racional: "<<num<<"/"<<den<<endl;
  66. }
  67. #endif
Y el main
Código
  1. #include "racional.h"
  2.  
  3. int main()
  4. {
  5. racional uno(3,4), dos(1,4), tres;
  6. float decimal;
  7.  
  8. tres.suma(uno,dos);
  9. cout<<"Suma ";tres.mostrar();
  10.  
  11. tres.resta(uno,dos);
  12. cout<<"Resta ";tres.mostrar();
  13.  
  14. tres.potencia(uno,3);
  15. cout<<"Potencia ";tres.mostrar();
  16.  
  17. cout<<"Decimal: "<<uno.decimal(decimal)<<endl;
  18.  
  19. system("pause");
  20. return 0;
  21. }
A mi hay cositas que no me convence como el metodo potencia de la clase racional


En línea

{_id: "5ef16999f6ce240abc225ss3",
nombre: "Ana Keldysh",
nacionalidad: "Argentina",
edad: "17",
profesion: "Desarrollador Web Full Stack, pero la verdad hago de todo.",
"__v": 0
}
AlbertoBSD
Programador y
Colaborador
***
Desconectado Desconectado

Mensajes: 3.530


🏴 Libertad!!!!!


Ver Perfil WWW
Re: POO
« Respuesta #1 en: 4 Diciembre 2018, 01:01 am »

A mi hay cositas que no me convence como el metodo potencia de la clase racional

Para iniciar esta bien, pero que no te convence de la potencia?

Saludos!


En línea

Donaciones 13vBzS5AEyW93fNFDARXiZpSpgbPhSghoW
K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 834



Ver Perfil
Re: POO
« Respuesta #2 en: 4 Diciembre 2018, 01:31 am »

A mí lo que se me hace raro es el método <float racional::decimal(float)>. Es decir, para qué se le pasa un parámetro de tipo float? :huh:.
Digo yo que lo suyo sería pasarle el parámetro de tipo <float> por referencia y quitar el valor de retorno o bien dejar como valor de retorno un <float> y quitar el parámetro... no?? :rolleyes:
Código
  1. void racional::decimal(float &dec)const{
  2.    dec = float(num) / float(den);
  3. }
  4.  
  5. float racional::decimal()const{
  6.    float dec = float(num) / float(den);
  7.    return dec;
  8. }
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Beginner Web


Desconectado Desconectado

Mensajes: 557


youtu.be/0YhflLRE-DA


Ver Perfil
Re: POO
« Respuesta #3 en: 4 Diciembre 2018, 02:07 am »

Para iniciar esta bien, pero que no te convence de la potencia?

Saludos!
Esto
Código
  1. (const racional &R
Me marié, ya no se que hace este metodo, no se que objeto es el que modifica
En línea

{_id: "5ef16999f6ce240abc225ss3",
nombre: "Ana Keldysh",
nacionalidad: "Argentina",
edad: "17",
profesion: "Desarrollador Web Full Stack, pero la verdad hago de todo.",
"__v": 0
}
AlbertoBSD
Programador y
Colaborador
***
Desconectado Desconectado

Mensajes: 3.530


🏴 Libertad!!!!!


Ver Perfil WWW
Re: POO
« Respuesta #4 en: 4 Diciembre 2018, 02:15 am »

Menos mal que programo en C# 😂😂😂

El comentario no viene al caso. Favor de no hacer SPAM,

Esto
Código
  1. (const racional &R
Me marié, ya no se que hace este metodo, no se que objeto es el que modifica

El metodo toma los valores de la variable uno, le hace la operacion de potencia con 3 y lo guarda en la variable tres que es la que terminas imprimiendo en pantalla.
En línea

Donaciones 13vBzS5AEyW93fNFDARXiZpSpgbPhSghoW
Beginner Web


Desconectado Desconectado

Mensajes: 557


youtu.be/0YhflLRE-DA


Ver Perfil
Re: POO
« Respuesta #5 en: 4 Diciembre 2018, 03:19 am »

Creo que el "&" esta demas tenia sueño cuando hice este ejercicio
En línea

{_id: "5ef16999f6ce240abc225ss3",
nombre: "Ana Keldysh",
nacionalidad: "Argentina",
edad: "17",
profesion: "Desarrollador Web Full Stack, pero la verdad hago de todo.",
"__v": 0
}
K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 834



Ver Perfil
Re: POO
« Respuesta #6 en: 4 Diciembre 2018, 12:54 pm »

Creo que el "&" esta demas tenia sueño cuando hice este ejercicio

En realidad no afecta el uso de "&". Es más, en objetos que sean muy grandes es recomendable pasar los parámetros constantes y por referencia ya que si no lo pasas por referencia la función va a hacer una copia del parámetro para lo que va a tener que reservar más memoria. En este caso que el objeto no es muy grande no tiene mucha importancia.
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines