miércoles, 16 de septiembre de 2015

Apuntador this

El apuntador this se utiliza para que un objeto tenga acceso  a su propia dirección. El apuntador this se utiliza para hacer referencia a los datos miembro y a sus funciones miembro.


Codificacion en CodeBlocks

#include <iostream>
using namespace std;
class Circulo
{
private:
    double radio;
    friend void estRadio(Circulo &, double rad);
public:
    Circulo(double rad);
    Circulo();
    void estableceRadio(double rad);
    double areaCirculo();
    void imprimeDatosCirculo();
    double obtenerRadio() const;
    void imprimeInfCirculo()const;
};
Circulo::Circulo(double rad)
{
  radio=rad;
}
Circulo::Circulo()
{
    radio=0;
}
void Circulo::estableceRadio(double rad)
{
    radio=rad;
}
double Circulo::areaCirculo()
{
    return 3.1416*radio*radio;
}
void Circulo::imprimeDatosCirculo()
{
    cout<<"\n\nDatos del circulo\n";
    cout<<"Radio: "<<radio<<endl;
    cout<<"Area: "<<areaCirculo()<<endl;
}
double Circulo::obtenerRadio() const
{
    return radio;
}
void Circulo::imprimeInfCirculo() const
{
    double const r=this->obtenerRadio();    //acceso con this
cout<<"\n\nRadio : "<<this->obtenerRadio()<<endl;
    cout<<"Area: "<<(3.1416*r*r)<<endl;
}
void estRadio(Circulo &c, double val)
{
    c.radio=val;
}
int main()
{
    Circulo c1;
    const Circulo c2(45.0);
    estRadio(c1,15.0);
    c1.imprimeDatosCirculo();
    c1.estableceRadio(10);
    c1.imprimeDatosCirculo();
    c2.imprimeInfCirculo();

    return 0;
}

No hay comentarios:

Publicar un comentario