Programación Orientada a Objetos metodo POO
Enviado por tomas • 3 de Febrero de 2018 • 2.026 Palabras (9 Páginas) • 471 Visitas
...
for (i=0; i
r.v[i] = 0.0;
for (i=0; i
for (j=0; j
r.v[i] += m.m[i][j] * v.v[j];
return r;
}
void vector::leervec()
{
int i;
for (i=0;i
{
printf("Ingrese v[%i]: ", i);
scanf("%f", &v[i]);
}
}
void matriz::leermat()
{
int i, j;
for (i=0;i
for (j=0;j
{
printf("Ingrese m[%d][%d]: ", i, j);
scanf("%f", &m[i][j]);
}
}
void vector::impvec()
{
int i;
for (i=0;i
printf("r[%d]: %f\n", i, v[i]);
system("pause");
}
main()
{
vector a, result;
matriz b;
a.leervec();
b.leermat();
result = multiplicar(b, a);
result.impvec();
}
Funciones constructores
Crea un objeto de una clase específica, es una función miembro de la clase. Son invocadas implícitamente y también explícitamente.
Características:
- Tienen el mismo nombre que la clase
- No devuelven valores
- Pueden tener parámetros ( y valores por defecto)
- Pueden ser definidos en línea o normal.
- Puede existir más de un constructor para una clase
Cuando declaramos un objeto de una clase, el constructor es invocado automáticamente. Si no definimos uno el compilador pone el suyo por defecto.
Class circulo{
float x_centro, y_centro;
float radio;
public:
circulo(float x, float y, float r)
{x_centro=x; y_centro=y; radio=r;}
};
main()
circulo c; // error
circulo c(2, 3, 1.5); // OK
circulo c = circulo(2, 3, 1.5); // OK
}
Funciones constructores de copia
Crea un objeto a partir de otro que ya existe. Se invocan implícitamente cuando se hacen una de estas cosas.
- Asignaciones entre objetos
- Paso de parámetros objeto por valor
Se caracterizan por tener una referencia constante a un objeto de la clase
class complejo{
double re, im;
public:
complejo(const complejo &c)
{
re=c.re;
im = c.im;
}
complejo(double r=0.0, double i=0.0)
{
re=r;
im=i;
| };
complejo c1;
complejo c2=c1; // invoca al constructor de copia
Funciones Destructores
Libera la memoria ocupada por un objeto. Se invoca implícitamente cuando acaba el ámbito de un objeto y explícitamente con el operador delete.
Características:
- Tienen el mismo nombre que la clase precedido por el tilde “~”
- No devuelven valores
- No pueden tener parámetros
- Pueden ser definidos en línea o normalmente
- En una clase puede existir como máximo un destructor
Ejemplo:
#include
#include
#include
class pila_char {
int tam;
char *pila;
char *cima;
public:
pila_char(int t)
{ cima = pila = new char[tam = t]; }
~pila_char()
{ delete pila; }
void
...