Com implementar aquest punter en C ++?

Es tracta d’un punter que apunta cap als objectes de la persona que truca. En aquest post, aprofundirem en el concepte d’aquest punter en C ++.

Mentre programeu, és possible que us hagueu trobat amb aquesta paraula clau. 'Això' és un punter que apunta cap als objectes de la persona que truca. En aquest post, aprofundirem en el concepte d’aquest punter en C ++



En aquest article es tractaran les següents indicacions,



Comencem amb aquest article sobre aquest punter en C ++

Aquest punter a C ++

Assenyaladors d'objectes

Les persones solen mantenir-se allunyats dels indicadors, ja que el seu treball sembla poc confús. En aquest post, entendrem el concepte de punter de la manera més senzilla possible. Els indicadors s’utilitzen per contenir l’adreça d’una variable concreta. S’utilitzen per referir la variable l’adreça de la qual s’emmagatzema. Un punt important a tenir en compte aquí és que un punter només pot emmagatzemar l'adreça d'una variable el tipus del qual coincideixi amb el tipus de punter. En altres paraules, un punter de tipus int només pot contenir l'adreça d'una variable de tipus int.



Quin ha de ser el tipus de punter que s’utilitza per emmagatzemar l’adreça d’un objecte? Per trobar una resposta a aquesta pregunta, hem d’entendre quin és el tipus d’un objecte concret? Int, char, float? No, un objecte és de classe tipus. En altres paraules, el tipus d'objecte és la classe a la qual pertany. Com una classe particular és un tipus de dades definit per l'usuari i un objecte d'aquesta classe pertany a aquest tipus.

Fins ara és possible que hàgiu fet indicacions sobre variables de referència de tipus de dades primitives. Vegem com podem utilitzar indicadors que poden fer referència a un objecte concret.

Continuant amb el codi de mostra per als indicadors a objectes



Sintaxi

nom_classe * nom_ punter

#include using namespace std class Car {public: int Number_of_wheels int Number_of_passengers void getinfo (int x, int y) {Number_of_wheels = x Number_of_passengers = y} void showinfo () {cout<<'Number of Wheels = '< Sortida 

Nombre de rodes = 4

Nombre de passatgers = 5

Nombre de rodes = 6

Nombre de passatgers = 8

Així podem utilitzar un punter per referir un objecte.

Nota el. s’utilitza l’operador amb el nom de l’objecte i s’utilitza -> l’operador mentre s’accedeix al mètode mitjançant un punter.

Continuem amb aquest article sobre aquest punter en C ++

Aquest punter

Si esteu amb Python, és possible que us hagueu topat amb la paraula 'jo'. Les funcionalitats de 'això' i 'jo' són similars entre si. 'Això' és un paràmetre que es passa a tots els mètodes no estàtics d'una classe que no podem veure, però que es pot utilitzar en qualsevol mètode no estàtic o d'instància d'una classe. Aquest punter es passa a una funció de membre no estàtic tan bon punt es crida. És un argument implícit a totes les funcions de membres no estàtiques d'una classe.

Continuem amb el codi de mostra d’aquest punter

quina diferència hi ha entre css i css3
#include using namespace std class Car {private: int Number_of_wheels int Number_of_passengers public: void getinfo (int x, int y) {this-> Number_of_wheels = x this-> Number_of_passengers = y} void showinfo () {cout<<'Number of Wheels = '< Sortida 

Nombre de rodes = 4

Nombre de passatgers = 5

L'adreça de l'objecte actual és = 0x7ffdbac81740

Nombre de rodes = 6

Nombre de passatgers = 8

L'adreça de l'objecte actual és = 0x7ffdbac81748

El programa anterior ens proporciona una breu comprensió de 'aquesta' paraula clau. Aquesta paraula clau és útil quan el nom de la variable xoca o quan hi ha diversos objectes d'un mètode.

Assenyaladors de classe derivada

Els punteres no només es poden utilitzar per referir-se a la classe base, sinó que també es poden utilitzar per assenyalar un objecte de classe derivat. Per exemple, si la classe Car hereta de la classe Vehicles, també es pot utilitzar un punter del tipus Vehicles per apuntar cap a un objecte del tipus Car.

Vehicles * ptr Vehicles vehicles Cotxe cotxe ptr = & vehicles ptr = & car

L'únic problema aquí és que si estem utilitzant un punter de classe base per apuntar cap a l'objecte de classe derivat, podrem accedir només als mètodes de classe base que són heretats per l'objecte de classe derivat. No podem accedir als membres de la classe derivada mitjançant el punter de classe base.

Si un membre de la classe Car té el mateix nom que un dels membres de la classe Vehicles, en aquest cas, el punter accedirà al membre de la classe base.

Així hem arribat al final d’aquest article sobre ‘Aquest punter en C ++’. Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate & Spring

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.