|
UNIDAD
EDUCATIVA FISCOMISIONAL DON BOSCO
Nombre: Keneth ortiz
curso: 2do INFORMATICA
F. entrega:22-01-2016
tema:constructores y destructores en c
Objetivo
|
Realizar una consulta de lo que son constructores y
destructores en c para tener un mejor conocimiento del tema y aplicarlo en
nuestra especialidad
DESTRUCTORES
Los destructores son funciones miembro especiales que
sirven para eliminar un objeto de una determinada clase. El destructor
realizará procesos necesarios cuando un objeto termine su ámbito temporal, por
ejemplo liberando la memoria dinámica utilizada por dicho objeto o liberando recursos
usados, como ficheros, dispositivos, etc.
Al igual que los constructores, los destructores
también tienen algunas características especiales:
·
También tienen el
mismo nombre que la clase a la que pertenecen, pero tienen el símbolo ˜
delante.
·
No tienen tipo de
retorno, y por lo tanto no retornan ningún valor.
·
No tienen
parámetros.
·
No pueden ser
heredados.
·
Deben ser públicos,
no tendría ningún sentido declarar un destructor como privado, ya que siempre
se usan desde el exterior de la clase, ni tampoco como protegido, ya que no
puede ser heredado.
·
No pueden ser
sobrecargados, lo cual es lógico, puesto que no tienen valor de retorno ni
parámetros, no hay posibilidad de sobrecarga.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
class cadena {
public:
cadena(); // Constructor
por defecto
cadena(const char *c); //
Constructor desde cadena c
cadena(int n); // Constructor de cadena de n caracteres
cadena(const cadena &); // Constructor copia
~cadena(); // Destructor
void Asignar(const char *dest);
char *Leer(char *c);
private:
char *cad; // Puntero a char: cadena de
caracteres
};
Los constructores
Los constructores son funciones miembro especiales que
sirven para inicializar un objeto de una determinada clase al mismo tiempo que
se declara.
Los constructores son especiales por varios motivos:
·
Tienen el mismo
nombre que la clase a la que pertenecen.
·
No tienen tipo de
retorno, y por lo tanto no retornan ningún valor.
·
No pueden ser heredados.
·
Por último, deben
ser públicos, no tendría ningún sentido declarar un constructor como privado,
ya que siempre se usan desde el exterior de la clase, ni tampoco como
protegido, ya que no puede ser heredado.
Sintaxis:
class <identificador
de clase> {
public:
<identificador de
clase>(<lista de parámetros>) [: <lista de constructores>] {
<código del constructor>
}
...
}
Ejemplo
#include <iostream>
using namespace std;
class pareja {
public:
// Constructor
pareja(int a2, int b2);
// Funciones miembro de la clase
"pareja"
void Lee(int &a2, int &b2);
void Guarda(int a2, int b2);
private:
// Datos miembro de la clase
"pareja"
int a, b;
};
pareja::pareja(int a2, int b2) {
a = a2;
b = b2;
}
void pareja::Lee(int &a2, int &b2) {
a2 = a;
b2 = b;
}
void pareja::Guarda(int a2, int b2) {
a = a2;
b = b2;
}
int main() {
pareja par1(12, 32);
int x, y;
par1.Lee(x, y);
cout << "Valor de par1.a: " << x << endl;
cout << "Valor de par1.b: " << y << endl;
return 0;
}
Conclusiones:
·
Hemos realizado un buen trabajo ya que nos
apoyamos del uso de el internet y también obtuvimos un mejor conocimiento del
tema tratado para asi aplicarlo en nuestra especialidad
Bibliografía:
|
NOMBRE
DEL/LA ESTUDIANTE:
|
|
ASIGNATURA:
|
|
EVALUACIÓN ESCRITA
|
|
TRABAJO INDIVIDUAL
|
|
|
|
|
|
OTROS
|
|
TRABAJO GRUPAL
|
|
|
|
|
|
ACTIVIDAD
|
|
RESULTADO
|
|
Keneth ortiz
|
|
|
Realizar una consulta de lo que son constructores y
destructores en c para tener un mejor conocimiento del tema y aplicarlo en
nuestra especialidad
DESTRUCTORES
Los destructores son funciones miembro especiales que
sirven para eliminar un objeto de una determinada clase. El destructor
realizará procesos necesarios cuando un objeto termine su ámbito temporal, por
ejemplo liberando la memoria dinámica utilizada por dicho objeto o liberando recursos
usados, como ficheros, dispositivos, etc.
Al igual que los constructores, los destructores
también tienen algunas características especiales:
·
También tienen el
mismo nombre que la clase a la que pertenecen, pero tienen el símbolo ˜
delante.
·
No tienen tipo de
retorno, y por lo tanto no retornan ningún valor.
·
No tienen
parámetros.
·
No pueden ser
heredados.
·
Deben ser públicos,
no tendría ningún sentido declarar un destructor como privado, ya que siempre
se usan desde el exterior de la clase, ni tampoco como protegido, ya que no
puede ser heredado.
·
No pueden ser
sobrecargados, lo cual es lógico, puesto que no tienen valor de retorno ni
parámetros, no hay posibilidad de sobrecarga.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
class cadena {
public:
cadena(); // Constructor
por defecto
cadena(const char *c); //
Constructor desde cadena c
cadena(int n); // Constructor de cadena de n caracteres
cadena(const cadena &); // Constructor copia
~cadena(); // Destructor
void Asignar(const char *dest);
char *Leer(char *c);
private:
char *cad; // Puntero a char: cadena de
caracteres
};
Los constructores
Los constructores son funciones miembro especiales que
sirven para inicializar un objeto de una determinada clase al mismo tiempo que
se declara.
Los constructores son especiales por varios motivos:
·
Tienen el mismo
nombre que la clase a la que pertenecen.
·
No tienen tipo de
retorno, y por lo tanto no retornan ningún valor.
·
No pueden ser heredados.
·
Por último, deben
ser públicos, no tendría ningún sentido declarar un constructor como privado,
ya que siempre se usan desde el exterior de la clase, ni tampoco como
protegido, ya que no puede ser heredado.
Sintaxis:
class <identificador
de clase> {
public:
<identificador de
clase>(<lista de parámetros>) [: <lista de constructores>] {
<código del constructor>
}
...
}
Ejemplo
#include <iostream>
using namespace std;
class pareja {
public:
// Constructor
pareja(int a2, int b2);
// Funciones miembro de la clase
"pareja"
void Lee(int &a2, int &b2);
void Guarda(int a2, int b2);
private:
// Datos miembro de la clase
"pareja"
int a, b;
};
pareja::pareja(int a2, int b2) {
a = a2;
b = b2;
}
void pareja::Lee(int &a2, int &b2) {
a2 = a;
b2 = b;
}
void pareja::Guarda(int a2, int b2) {
a = a2;
b = b2;
}
int main() {
pareja par1(12, 32);
int x, y;
par1.Lee(x, y);
cout << "Valor de par1.a: " << x << endl;
cout << "Valor de par1.b: " << y << endl;
return 0;
}
Conclusiones:
·
Hemos realizado un buen trabajo ya que nos
apoyamos del uso de el internet y también obtuvimos un mejor conocimiento del
tema tratado para asi aplicarlo en nuestra especialidad
Bibliografía:
No hay comentarios:
Publicar un comentario