Dieser Zeiger C ++

Dieser Zeiger C ++
4.3 (86.67%) 3 Stimmen





указатель this в c++, this c++, this с++

В этом уроке мы достаточно поверхностно рассмотрим указатель Dies, чтобы начинающие программисты познакомились с ним и имели представление о том где он встречается и как работает. Хочу, für den Anfang, рассмотреть пару несложных примеров. В первом будут определены Funktionen: одна из которых будет записывать данные в переменные, а втораяотображать их на экран. Во втором примере определим Klasse, который будет содержать два метода, выполняющих такую же работу, как и функции из первого примера.

Когда будете рассматривать эти примеры, обратите внимание на то, как функции из первого примера и методы класса из второго примера, будут принимать параметры.

В этом примере вы, скорей всего, не увидели ничего нового и сложного для вас. Es ist ganz einfach – функции лишь принимают параметры и выполняют определённые действия с этими параметрами. Теперь напишем простой класс, в котором реализуем методы очень похожие на функции из первого примера. Но кое-чем они будут отличаться. А именно тем, что им не надо принимать в виде параметров, Klassenmitglieder, чтобы внести изменения в них.

Рассмотрев этот пример, вы увидели, что определяя методы в теле класса, мы не прописываем параметры в сигнатуре. И вызывая эти методы из главной функции, мы так же не указываем с какими данными им работать. Но каким-то образом данные вносятся именно в те члены класса, которые указаны в теле методов. Как же методыпонимают”, с какими данными и с каким объектом класса им надо работать? Die Sache ist, что в методы класса, неявно передается в виде параметра указатель Dies (указатель на объект класса). Происходит это автоматически. Мы этого не видим, так как этот указательесть скрытый первый параметр любого метода класса.

Указатель Dies хранит адрес определённого объекта класса. В рассмотренном примере он хранит адрес объекта objectOfClass. Таким образом он неявно указывает методам класса с данными какого объекта надо работать.




ich stelle fest,, что у программистов все же есть возможность применять указатель Dies явно. Если бы мы определяли метод enterData() с явным использованием Dies, это выглядело бы так:

указатель this в c++, this c++, this с++

so:

указатель this в c++, this c++, this с++

Конкретно в этих случаях можно обойтись и без явного использования Dies. Но иногда явного использования не избежать. К примеру в следующем примере, Dies не позволит компилятору запутаться в именах членов класса и параметров которые принимает конструктор.

On line 10 мы определили конструктор с параметрами, имена которых совпадают с именами членов класса: someName und someAge. Далее чтобы дать компилятору понять что именно и куда надо скопировать, мы явно используем указатель Dies:

Das heisst, что в член класса someAge необходимо записать значение, которое будет задано про создании объекта класса.

указатель this в c++, this c++, this с++

Zusammengefasst : dieser Zeiger – ein Zeiger, который хранит адрес конкретного объекта класса. Он присутствует в виде скрытого первого параметра в каждом методе класса (кроме статических методов). Типом этого указателя является имя класса. В методах класса, при необходимости, можно использовать Dies явно. Однако явно объявлять, инициализировать или изменять этот указатель, нет возможности.

Надеюсь боле-менее вы разобрались с этой темой. Если есть вопросы – bitte Kommentar.

Zur Unterstützung unserer Website – klicken Sie auf das Sparschwein und wählen Sie eine beliebige bequeme Weise.

Newsletter neue Lektionen über die Programmierung:

3 Gedanken zu "Dieser Zeiger C ++

  1. И что же получается? Есть this, но можно и объявить свой указатель, и использовать вместо this?

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

Hinterlasse eine Antwort

Platz Code in Tags: <pre class="lang:c ++ dekodieren:true ">DEIN CODE</Vor>