Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Th3-Cod3 en 15 Abril 2016, 17:39 pm



Título: [C++]Como puedo empezar a programar en C++
Publicado por: Th3-Cod3 en 15 Abril 2016, 17:39 pm
Buenas, queria perdiles un par de consejo para empezar a programar en C++, teniendo en cuenta que tengo un poco de experiencia en programacion mas tanto en PHP (principiante/intermedio). Se trabajar con los tipos de datos (int, char, bool, etc) bucles (do while, while, for) y los condicionales (if, if else, else) hacer funciones y mas o menos comprendo lo que es trabajar clases/objetos (no tengo mucha experiencia con eso).

Bueno teniedo en cuenta lo anterior lo que me gustaria aprender es porder comprender como se trabaja una funcion en la memoria. por ejemplo he ledio un par de consejos para no usar la funcion gets(); por que el no respeta que tan grande sea el espacio de la variable y sobre escribe en la memoria (Disculpa si no me hago enteder bien). pero mi punto es que me gustaria ver como funciona C++ internamente se que no es parte de C++ pero es parte de informatica pero me parece muy fundameltal.

en mi mente, pienso que la mejor manera de aplicar el C++ es trabajar en un videojuego y me gustaria comprender que bibliotecas se deben de usar o motor (No se nada del tema). He escuchado sobre algo del OpenGL pero de verdad no se nada alguien que me lo pudiera explicar tambien no estaria mal.

Bueno espero que me puedan ayudar con mis dudas y agrederceles, al mismo tiempo pido disculpa si hay errores de ortografia o si me he esplicado mal.






Título: Re: [C++]Como puedo empezar a programar en C++
Publicado por: HardForo en 15 Abril 2016, 17:43 pm
Yo empezaria por C ya que te quedaran temas claros que despues pueden volver a aparecer en C++ (punteros como smartpointers, etc) y por supuesto hay librerias de C que tambien veras se usan en C++

Si sabes de POO en PHP, en C++ es mas o menos igual (no es basado en prototipos como javascript o Lua por ejemplo)

Sino quieres pasar por C o si ya lo has hecho...... te tocaria ver el tema de POO en C++ ya que por supuesto tiene sus peculiaridades.

Consejo final..... traduce pequeños programas o fragmentos que sabes lo que hacen desde otro lenguaje como domines (como PHP) a C++, eso he hecho yo :)


Título: Re: [C++]Como puedo empezar a programar en C++
Publicado por: Th3-Cod3 en 15 Abril 2016, 18:31 pm
Primero que todo agradecerte por reaccionar a mi post, comprendo mas o menos POO pero no es mi fuerte (Se puede decir que no se nada) me gustaria trabajar en ellos pero que libro, post, curso, etc me recomiendas teniendo en cuenta que tambien me interesa la parte teorica (Me gusta saber el por que de las cosas).

saludos


Título: Re: [C++]Como puedo empezar a programar en C++
Publicado por: HardForo en 15 Abril 2016, 18:43 pm
No sabria decirte de un libro.... pero debes leer conceptos (en este orden mas o menos) como:

- Encapsulamiento
- Herencia y
- Poliformismo

Aca tienes un programa en C++ con clases:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Rectangle
  5. {
  6.    int width, height;
  7.  
  8.  public:  
  9.    void set_values (int,int);
  10.  
  11.    int area()
  12. {
  13. return width*height;
  14. }
  15. };
  16.  
  17. void Rectangle::set_values (int x, int y)
  18. {
  19.  width = x;
  20.  height = y;
  21. }
  22.  
  23. int main () {
  24.  Rectangle rect;
  25.  rect.set_values (9,8);
  26.  cout << "area: " << rect.area();
  27.  return 0;
  28. }
  29.  

Y en PHP salvando convenciones y demas....... seria asi:

Código
  1. <?php
  2.  
  3. class Rectangle
  4. {
  5. private $width;
  6. private $height;
  7.  
  8. // podrias usar un constructor: __construct()
  9.  
  10. // los metodos no son externos a las clases (excepto uses "traits")
  11. public function set_values ($w,$h){
  12. $this->width  = $w;
  13. $this->height = $h;
  14. }
  15.  
  16.         public function area()
  17. {
  18. return $this->width*$this->height;
  19. }
  20. }
  21.  
  22.  
  23. // main
  24.  $rect = new Rectangle();
  25.  $rect->set_values (9,8);
  26.  echo "area: " . $rect->area();
  27.  

En este programa ultra-basico veras que lo que cambia es poco:

- Las variables en C no comienzan con $
- En C necesitas una funcion main()
- Para acceder a  miembros como atributos o funciones (metodos) en PHP es con -> (o :: si son mienbros estaticos) y en C es con punto (.)