Jak implementovat tento ukazatel v C ++?



Jedná se o ukazatel, který směřuje k objektům volajícího. V tomto příspěvku se ponoříme hlouběji do konceptu tohoto ukazatele v C ++.

Během programování jste se mohli setkat s „tímto“ klíčovým slovem. „This“ je ukazatel, který směřuje k objektům volajícího. V tomto příspěvku se ponoříme hlouběji do konceptu tohoto ukazatel v C ++

V tomto článku se budeme zabývat následujícími ukazateli,





Začněme tímto článkem o tomto ukazateli v C ++

jak zobrazit pole v php

Tento ukazatel v C ++

Ukazatele na objekty

Lidé mají tendenci se držet dál od ukazatelů, protože jejich práce zní trochu matoucí. V tomto příspěvku pochopíme koncept ukazatele nejjednodušším možným způsobem. Ukazatele se používají k uchování adresy konkrétní proměnné. Používají se k označení proměnné, jejíž adresu ukládá. Zde je důležité si uvědomit, že ukazatel může ukládat pouze adresu proměnné, jejíž typ odpovídá typu ukazatele. Jinými slovy, ukazatel typu int může obsahovat pouze adresu proměnné typu int.



Jaký by měl být typ ukazatele, který se používá k uložení adresy objektu? Abychom našli odpověď na tuto otázku, musíme pochopit, jaký je typ konkrétního objektu? Int, char, float? Ne, objekt má typovou třídu. Jinými slovy, typ objektu je třída, do které patří. Jako konkrétní třída je uživatelem definovaný datový typ a objekt této třídy patří do tohoto typu.

Až dosud jste možná vytvořili odkazy na odkaz na proměnné primitivních datových typů. Podívejme se, jak můžeme použít ukazatele, které mohou odkazovat na konkrétní objekt.

Pokračujeme ukázkovým kódem pro ukazatele na objekty



Syntax

class_name * pointer_name

#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 = '< Výstup 

Počet kol = 4

Počet cestujících = 5

Počet kol = 6

třídit pole c ++ sestupně

Počet cestujících = 8

Takto můžeme použít ukazatel k označení objektu.

Poznámka the. operátor se používá s názvem objektu a -> operátor se používá při přístupu k metodě pomocí ukazatele.

Pokračujeme tímto článkem o tomto ukazateli v C ++

Tento ukazatel

Pokud jste s pythonem, možná jste narazili na slovo „já“. Funkce „tohoto“ a „já“ jsou si navzájem podobné. „Toto“ je parametr, který se předává všem nestatickým metodám třídy, které nevidíme, ale lze jej použít v jakýchkoli nestatických nebo instančních metodách třídy. „Tento“ ukazatel je předán nestatické členské funkci, jakmile je vyvolán. Je to implicitní argument pro všechny nestatické členské funkce třídy.

Pokračujeme ukázkovým kódem pro tento ukazatel

#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 = '< Výstup 

Počet kol = 4

Počet cestujících = 5

Adresa aktuálního objektu je = 0x7ffdbac81740

Počet kol = 6

Počet cestujících = 8

Adresa aktuálního objektu je = 0x7ffdbac81748

Výše uvedený program nám umožňuje stručně porozumět klíčovému slovu „toto“. Klíčové slovo „toto“ je užitečné, když se střetává název proměnné nebo když je v metodě zahrnuto více objektů.

Ukazatele na odvozenou třídu

jak zvýšit na sílu v Javě

Ukazatele lze nejen použít k odkazu na základní třídu, ale lze je také použít k ukázání na objekt odvozené třídy. Například pokud třída Car dědí z třídy Vehicles, lze použít ukazatel typu Vehicles také k nasměrování na objekt typu Car.

Vehicles * ptr Vehicles vehicles Car car ptr = & vehicles ptr = & car

Jediným úlovkem je, že pokud používáme ukazatel základní třídy k nasměrování na objekt odvozené třídy, budeme mít přístup pouze k metodám základní třídy, které jsou zděděny objektem odvozené třídy. Nemůžeme přistupovat k členům odvozené třídy pomocí ukazatele základní třídy.

Pokud má člen třídy Car stejný název jako jeden z členů třídy Vehicles, pak v takovém případě bude ukazatel přistupovat k členu základní třídy.

Tak jsme dospěli ke konci tohoto článku o „This Pointer in C ++“. Pokud se chcete dozvědět více, podívejte se na Edureka, důvěryhodná online vzdělávací společnost. Školicí a certifikační kurz Edureka Java J2EE a SOA je navržen tak, aby vás vyškolil jak pro základní, tak pro pokročilé koncepty Java spolu s různými rámci Java jako Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto blogu a my se vám ozveme co nejdříve.