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

 

 


Tema destacado: Tutorial básico de Quickjs


+  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 2,071 veces)
Beginner Web


Desconectado Desconectado

Mensajes: 634


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

7w7
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 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

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



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: 634


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

7w7
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 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

Beginner Web


Desconectado Desconectado

Mensajes: 634


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

7w7
K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



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