Em um programa C + + , se você criar um objeto A de classe X , então você pode obter o endereço de uma usando o ponteiro "this" . O endereço está disponível como uma variável local as funções de membro não- estáticas de X , e seu tipo é const X * . O ponteiro "this" funciona porque C + + cria instâncias de seus membros de dados , e mantém uma cópia de cada função membro . Coisas que você precisa
avançada C + + habilidade
compilador C + + com IDE, como o Visual Studio 2008
Show Mais instruções
1
Use o ponteiro "this" para descobrir a localização de uma instância de classe . Como qualquer ponteiro , ele armazena um endereço. Função membro GetAddress () da classe C + + X retorna o endereço de uma determinada instância de classe X:
class X {
público :
X * const GetAddress () const {
devolver este ;
};
2
funções de membro de acesso ou dados dos membros dentro de uma função membro da classe com o " presente " palavra-chave e o operador - ">". O exemplo abaixo pode trabalhar sem " this-> . " Mas, se a biblioteca matriz tem uma classe pai com os mesmos nomes de membros , " this-> " deixa claro que o que é invocado pertence à classe atual, e não seu pai :
classe Matrix {
int linhas, colunas ;
público :
Matrix (): linhas ( 0), cols (0) {
this-> Init (); }
~ Matrix ();
int GetRows () const {
retornar this-> linhas;
}
privado :
anular Init (); }
;
< br > 3
estude uma classe que tem sobrecarga de operadores e estudar o uso desta . O seguinte trecho de código demonstra como ela pode ser redefinida :
const X * this-> operador () {
devolver este ; }