quinta-feira, 10 de março de 2016

This Pointer

// example 1 on this
#include <iostream>
using std::cout;
using std::endl;

class Carro{
public:
    int MaxHeart;                                           // this->MaxHeart
    Carro(int MaxHeart)
    {
        this->MaxHeart = MaxHeart;              //Object of Carro MaxHeart = argument of construtor
    }
    void Imprimir();
};
void Carro::Imprimir()
{
    cout << MaxHeart <<endl;
}

int main () {
    Carro ca(5);
    ca.Imprimir();                                             // Will Print 5
  return 0;
}


#include <iostream>
using std::cout;
using std::endl;

class Carro{
public:
    void foo() const {
        cout << this << endl;
    }
};

int main () {
    Carro ca;
    cout << &ca<<endl;          //same address of object ca
    ca.foo();                   //same address of object ca

    Carro* rat = new Carro();
    cout << rat <<endl;         //same address of object rat
    rat->foo();                 //same address of object rat
  return 0;
  delete rat;
}







Nenhum comentário:

Postar um comentário