CLASES EN C

Páginas: 4 (818 palabras) Publicado: 17 de mayo de 2015
Uso de estructuras con funciones internas


#include

struct stPareja {
int A, B;
int LeeA() { return A;} // Devuelve el valor de A
int LeeB() { return B;} // Devuelve el valor de B
voidGuardaA(int n) { A = n;} //Asigna nuevo valor a A
void GuardaB(int n) { B = n;} //Asigna nuevo valor a B
} Par;
int main() {
Par.GuardaA(15);
Par.GuardaB(63);
cout << Par.LeeA() << endl;
cin.get();return 0;


Inicialización de estructuras:
De un modo parecido al que se inicializan los arrays, se pueden inicializar estructuras, tan sólo hay que tener cuidado con las estructuras anidadas. Porejemplo:

struct A {
int i;
int j;
int k;
};

struct B {
int x;
struct C {
char c;
char d;
} y;
int z;
};

A ejemploA = {10, 20, 30};
B ejemploB = {10, {'a', 'b'}, 20};Cada nueva estructura anidada deberá inicializarse usando la pareja correspondiente de llaves "{}", tantas veces como sea necesario.



Asignación de estructuras:
La asignación de estructuras estápermitida, pero sólo entre variables del mismo tipo de estructura, salvo que se usen constructores, y funciona como la intuición dice que debe hacerlo.

Veamos un ejemplo:
struct Punto {
int x, y;Punto() {x = 0; y = 0;}
} Punto1, Punto2;

int main() {
Punto1.x = 10;
Punto1.y = 12;
Punto2 = Punto1;
}


La línea:
Punto2 = Punto1;
equivale a:
Punto2.x = Punto1.x;
Punto2.y = Punto1.y;Operadores New y delete.

int main() {
char *c;
int *i = NULL;
float **f;
int n;
c = new char[123]; // cadena de 122
f = new float *[10]; // (1)array de 10 punteros
// Cadaelemento del array es
//un array de 10 float
for(n = 0; n < 10; n++) f[n] = new float[10]; (2)
// f es un array de 10*10
f[0][0] = 10.32;
f[9][9] = 21.39;c[0] = 'a';
c[1] = 0;
// liberar memoria dinámica
for(n = 0; n < 10; n++) delete[] f[n];
delete[] f;
delete[] c;
delete i;
return 0;
}

Nota: f es un puntero que apunta a un puntero que a su vez...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Clases en C#
  • Clases en c++
  • clase c
  • Clases en c#
  • clases c++
  • Fundamentos de Clases en C++
  • El transistor en clase a, b y c.
  • C Clase 2

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS