Questo puntatore C ++

Questo puntatore C ++
5 (100%) 1 votazione





questo puntatore in c ++, questo C ++, questo с ++

In questo tutorial guardiamo abbastanza puntatore tensioattivo Questo, programmatori alle prime armi di incontrarlo e avere un'idea di dove si verifica e come funziona. Voglio, per un avvio, prendere in considerazione alcuni semplici esempi. Nel primo da determinare funzioni: una delle quali scrivere dati variabili, e la seconda – visualizzarli sullo schermo. In un secondo esempio definiamo classe, che conterrà due metodi, eseguire lo stesso lavoro, in funzione del primo esempio.

Se si considera questi esempi, nota, in funzione del primo esempio e la seconda classe di metodi dell'esempio, avrà parametri.

In questo esempio, si, probabilmente, Non abbiamo visto nulla di nuovo o difficile per voi. E 'semplice – funzioni accettano solo le impostazioni ed eseguire alcune azioni con queste impostazioni. Ora scriviamo una semplice classe, che implementiamo metodi molto simili alla funzione del primo esempio. Ma qualcosa si differenziano. Vale a dire, la, essi non devono essere presi come parametro, i membri della classe, modificarle.

Considerate questo esempio, hai visto, che definiscono un metodo nel corpo della classe, noi non prescrivono i parametri nella firma. E, questi metodi di causare la funzione principale, anche noi non specifichiamo quali dati funzionano. Ma in alcuni dati modo è entrato proprio quei membri della classe, individuato nei metodi corporei. Come metodi “comprendere”, quali dati e quali oggetto di classe hanno bisogno di lavorare? Il fatto, che nei metodi di classe, implicitamente passato come parametro un puntatore Questo (un puntatore all'oggetto classe). Questo avviene automaticamente. Noi non lo vediamo, dal momento che questo indice – vi è un primo parametro nascosto di qualsiasi metodo di classe.

pointer Questo memorizza l'indirizzo di una particolare classe di oggetti. In questo esempio, memorizza l'indirizzo dell'oggetto objectOfClass. Così, si indica implicitamente metodi di classe con i dati dell'oggetto da lavorare.




rilevo, che gli sviluppatori hanno ancora la possibilità di utilizzare il puntatore Questo apparentemente. Se definiamo un metodo enterData() con l'uso esplicito Questo, che sarebbe simile a questa:

questo puntatore in c ++, questo C ++, questo с ++

circa:

questo puntatore in c ++, questo C ++, questo с ++

In particolare, in questi casi, si può fare senza l'uso esplicito Questo. Ma a volte uso esplicito non può essere evitato. Ad esempio, nel seguente esempio, Questo il compilatore non permetterà a confondersi nei nomi dei membri della classe e che accetta i parametri progettista.

on line 10 abbiamo definito un costruttore con parametri, i cui nomi coincidono con i nomi dei membri della classe: SomeName e someAge. Avanti per consentire al compilatore di capire cosa e dove copiare, usiamo esplicitamente il puntatore Questo:

Questo significa, dal fatto che il membro della classe someAge è necessario scrivere il valore, in cui saranno definiti sulla creazione di un oggetto di classe.

questo puntatore in c ++, questo C ++, questo с ++

Per riassumere : questo puntatore – un puntatore, che memorizza l'indirizzo di una particolare classe di oggetti. È presente in una nascosta primo parametro di ogni metodo della classe (tranne metodi statici). Il tipo di puntatore è il nome della classe. I metodi della classe, se necessario, È possibile utilizzare Questo apparentemente. Tuttavia, esplicitamente dichiarare, inizializzare o sostituire il puntatore, non vi è alcuna possibilità.

Speriamo Bole-meno si capisce questo argomento. Se avete domande – si prega di commento.

Per sostenere il nostro sito – cliccare sul salvadanaio e scegliere qualsiasi modo conveniente.

Newsletter nuove lezioni sulla programmazione:

3 pensieri su "Questo puntatore C ++

  1. E che risulta? è questo, но можно и объявить свой указатель, и использовать вместо this?

    1. Объявить свой указатель вы можете, но только это будет полный дубликат Questo, поэтому никакого смысла делать этого нет.
      А вот без this никакого другого доступа кэтому объектуне было бы.

Lascia un Commento

Inserire il codice nei tag: <pre class="lang:C ++ decodifica:true ">IL TUO CODICE</pre>