Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con un programa en c++

Estas en el tema de Problema con un programa en c++ en el foro de C/C++ en Foros del Web. Hola necesito ayuda con este programa, nose cual es el error # include <iostream> class Punto { private : int x, y; public : Punto ...
  #1 (permalink)  
Antiguo 18/04/2012, 17:43
 
Fecha de Ingreso: abril-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Problema con un programa en c++

Hola necesito ayuda con este programa, nose cual es el error

# include <iostream>
class Punto
{
private :
int x, y;

public :
Punto (int x, int y) {x=x; y=y;};
~ Punto () {};
int X () { return x; }
int Y () { return y; }
void prod_por_escalar( int escalar )
{
x *= escalar ;
y *= escalar ;
}

};

int main ()
{
using namespace std;
const Punto *miPunto=new Punto(13,20);
miPunto . prod_por_escalar (2) ;
cout << miPunto .X () << " " << miPunto .Y () << "\n";
return 0;
}
  #2 (permalink)  
Antiguo 18/04/2012, 20:04
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: Problema con un programa en c++

el problema es que estas tratando de acceder a las funciones del puntero miPunto con el punto (.).... para acceder a los miembros de un puntero se usa una flecha que consiste de un guion "-" seguido del signo mayor ">" quedando "->", entonces tendrias que modificar el codigo como sigue:


Código C++:
Ver original
  1. # include <iostream>
  2.  class Punto
  3.  {
  4.  private :
  5.  int x, y;
  6.  
  7.  public :
  8.  Punto (int x, int y) {x=x; y=y;};
  9.  ~ Punto () {};
  10.  int X () { return x; };
  11.  int Y () { return y; };
  12.  void prod_por_escalar( int escalar )
  13.  {
  14.  x *= escalar ;
  15.  y *= escalar ;
  16.  };
  17.  
  18.  };
  19.  
  20. using namespace std;
  21.  
  22.  int main ()
  23.  {
  24.  
  25.  const Punto *miPunto=new Punto(13,20);
  26.  miPunto->prod_por_escalar (2) ;
  27.  cout << miPunto->X () << " " << miPunto->Y () << "\n";
  28.  return 0;
  29.  }


tambien poner using namespace std; antes de main.


saludos

Etiquetas: int, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:10.