Dev C++
En el .h debe aparecer la declaración de la clase:
class NombreClase {
private:
// atributos y métodos privados
public:
// atributos y métodos públicos
};
Podemos declarar métodos inline.
private: no accesible desde fuera de la implementación de la clase.
public: accesible desde fuera de la implementación de la clase.
1
POO en C++:URacional.h
class Racional{
private:
int num;
int den;
int mcd(int a, int b);
void simplifica();
public:
Racional(int n=0, int d=1);
Racional(const Racional& r);
~Racional(){num=0; den=1;};int dameNumerador(){return num;};
int dameDenominador(){return den;};
void suma(const Racional& r);
void resta(const Racional& r);
void divide(const Racional& r);
void multiplica(const Racional&r);
};
//this=this+r
//this=this-r
//this=this/r
//this=this*r
2
POO en C++: URacionalP.h
Podríamos tener la clase Racional como:
class RacionalP{
private:
int* num;
int*den;
int mcd(int a, int b);
void simplifica();
public:
RacionalP(int n=0, int d=1);
RacionalP(const RacionalP& r);
~RacionalP();
int dameNumerador(){return *num;};
int dameDenominador(){return*den;};
void suma(const RacionalP*& r);
void resta(const RacionalP*& r);
void divide(const RacionalP*& r);
void multiplica(const RacionalP*& r);
3
POO en C++: Sintaxis
En el .cpp laimplementación de los métodos que no
sean inline.
tipo NombreClase::nombreMetodo(lista parámetros){
//implementación del método
}
4
POO en C++: Un ejemplo
// URacional.cpp
voidRacional::suma(const Racional& r){
num = num*r.den + r.num*den;
den = den*r.den;
simplifica();
};
// URacionalP.cpp
void RacionalP::suma(const RacionalP*& r){
*num = (*num)*(*r->den) + (*r->num)*(*den);*den=(*den)*(*r->den);
simplifica();
};
5
POO en C++: Sintaxis
Las constructoras sirven para inicializar los atributos de un objeto. Su
sintaxis es:
NombreClase(lista parámetros);...
Regístrate para leer el documento completo.