Diferencia entre revisiones de «Programación C y C++»

De Proyectos
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 32: Línea 32:
== Pasar por referencia?¿ ==
== Pasar por referencia?¿ ==
== Funciones dentro de las estructuras ==
== Funciones dentro de las estructuras ==
Aplicable a C++.<br>
*Aplicable a C++.
Son funciones que manipulan los datos de dentro de la estructura.
*Son funciones que manipulan los datos de dentro de la estructura.
=== Constructor ===
=== Constructor ===
*Los valores no iniciados con los constructores contendran "basura"
*Se pueden definir varios constructores
Forma 1:
<pre>
struct Punto {
  int x, y;
  Punto() {x = 0; y = 0;} // Constructor
} Punto1, Punto2;
</pre>
Forma 2:
<pre>
struct Punto {
  int x, y;
  Punto(); // Declaración del constructor
} Punto1, Punto2;
// Definición del constructor, fuera de la estructura
Punto::Punto() { 
  x = 0;
  y = 0;
}
</pre>
Es una función sin retorno y con el mismo nombre que la estructura.
Es una función sin retorno y con el mismo nombre que la estructura.
=== Destructor ===
=== Destructor ===
Es igual pero con el simbolo ~ delante.
*Es igual pero con el simbolo ~ delante.
=== Funciones ===
*Se pueden incluir otras funciones que se declaran y definen como las funciones normales.
<pre>
struct stPareja {
  int A, B;
  int LeeA() { return A;} // Devuelve el valor de A
  int LeeB() { return B;} // Devuelve el valor de B
  void GuardaA(int n) { A = n;} // Asigna un nuevo valor a A
  void GuardaB(int n) { B = n;} // Asigna un nuevo valor a B
} Par;
int main() {
  Par.GuardaA(15);
  Par.GuardaB(63);
  cout << Par.LeeA() << endl;
  cout << Par.LeeB() << endl;
  return 0;
}
</pre>
 
== Documentación ==
== Documentación ==
[http://c.conclase.net/curso/?cap=011#inicio Curso de C++ con clase]<br/>
[http://c.conclase.net/curso/?cap=011#inicio Curso de C++ con clase]<br/>

Revisión del 20:40 5 mar 2013

Variables

unsigned signed uint8_t byte int long char

Estructuras

Definicion

Declaracion

struct nombre{<br/>
  int variable1;<br/>
  long variable2;<br/>
  char variable3[40];<br/>
};

struct nombre pedro; //En C es obligatorio usar la palabra struct en la declaracion de un objeto struct, en C++ no lo es.

El objeto pedro es un struct de tipo nombre.

Otra forma de declarar:

struct nombre{
  int variable1;
  long variable2;
  char variable3[40];
}pedro;<br/>

Para inicializar la variable pedro se hace como con los arrays,

pedro = {2, 40, "hola"};

Acceder a la información

Pasar por referencia?¿

Funciones dentro de las estructuras

  • Aplicable a C++.
  • Son funciones que manipulan los datos de dentro de la estructura.

Constructor

  • Los valores no iniciados con los constructores contendran "basura"
  • Se pueden definir varios constructores

Forma 1:

struct Punto { 
   int x, y; 
   Punto() {x = 0; y = 0;} // Constructor
} Punto1, Punto2;

Forma 2:

struct Punto { 
   int x, y; 
   Punto(); // Declaración del constructor
} Punto1, Punto2;
 
// Definición del constructor, fuera de la estructura
Punto::Punto() {  
   x = 0; 
   y = 0; 
}

Es una función sin retorno y con el mismo nombre que la estructura.

Destructor

  • Es igual pero con el simbolo ~ delante.

Funciones

  • Se pueden incluir otras funciones que se declaran y definen como las funciones normales.
struct stPareja { 
   int A, B; 
   int LeeA() { return A;} // Devuelve el valor de A
   int LeeB() { return B;} // Devuelve el valor de B
   void GuardaA(int n) { A = n;} // Asigna un nuevo valor a A
   void GuardaB(int n) { B = n;} // Asigna un nuevo valor a B
} Par;
 
int main() { 
   Par.GuardaA(15); 
   Par.GuardaB(63); 
   cout << Par.LeeA() << endl; 
   cout << Par.LeeB() << endl;
 
   return 0; 
}

Documentación

Curso de C++ con clase
Curso de C - El Rincón de C

Punteros

Punteros en C

typedf -> cambia nombre del tipo a otro nombre personalizado. Ej. typedef strcut contacto contacto_t; //Ahora escribiendo contacto_t estoy escribiendo en realidad struct contacto.