Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele This-Avainsana | C++:n OOP:n Perusteet
C++ OOP
course content

Kurssisisältö

C++ OOP

C++ OOP

1. C++:n OOP:n Perusteet
2. Konstruktorit ja Destruktorit
3. Kapseloinnin Yleiskatsaus
4. Perinnän Yleiskatsaus
5. Polymorfismin Yleiskatsaus

book
This-Avainsana

Avainsana this oliopohjaisessa ohjelmoinnissa viittaa nykyiseen olio-instanssiin. Se tarjoaa jäsenfunktioille osoittimen olioon, joka kutsui niitä, mahdollistaen kyseisen olion muuttujien ja funktioiden käytön.

Example.cpp

Example.cpp

copy
12345678910111213
#include <iostream> class Example { public: Example* get_address() { return this; } }; int main() { Example obj; std::cout << &obj << std::endl; std::cout << obj.get_address() << std::endl; }

Kun käytät pisteoperaattoria (.) jäsenmuuttujien tai -funktioiden käyttämiseen luokan sisällä, this-osoitin viittaa implisiittisesti siihen olioon, jolle jäsenfunktiota kutsutaan. Tämä on usein hyödyllistä erilaisissa tilanteissa ja sitä käytetään yleisesti muuttujien nimien epäselvyyksien välttämiseksi.

Example.cpp

Example.cpp

copy
123456789101112131415
#include <iostream> class Example { public: void multiply(int number) { number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }

Tässä voimme hyödyntää this-avainsanaa, koska se osoittaa nykyiseen olioon osoittimena. Sen attribuutteihin pääsemiseksi on käytettävä ->-operaattoria.

main.cpp

main.cpp

copy
123456789101112131415
#include <iostream> class Example { public: void multiply(int number) { this->number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }

this-avainsanan käyttö on laajalle levinnyt käytäntö useissa eri tilanteissa. Sitä käytetään usein erityisesti suurissa luokissa osoittamaan, että muuttuja on luokan jäsen eikä ulkoinen parametri tai argumentti.

question mark

Mihin this-avainsana viittaa olio-ohjelmoinnissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

course content

Kurssisisältö

C++ OOP

C++ OOP

1. C++:n OOP:n Perusteet
2. Konstruktorit ja Destruktorit
3. Kapseloinnin Yleiskatsaus
4. Perinnän Yleiskatsaus
5. Polymorfismin Yleiskatsaus

book
This-Avainsana

Avainsana this oliopohjaisessa ohjelmoinnissa viittaa nykyiseen olio-instanssiin. Se tarjoaa jäsenfunktioille osoittimen olioon, joka kutsui niitä, mahdollistaen kyseisen olion muuttujien ja funktioiden käytön.

Example.cpp

Example.cpp

copy
12345678910111213
#include <iostream> class Example { public: Example* get_address() { return this; } }; int main() { Example obj; std::cout << &obj << std::endl; std::cout << obj.get_address() << std::endl; }

Kun käytät pisteoperaattoria (.) jäsenmuuttujien tai -funktioiden käyttämiseen luokan sisällä, this-osoitin viittaa implisiittisesti siihen olioon, jolle jäsenfunktiota kutsutaan. Tämä on usein hyödyllistä erilaisissa tilanteissa ja sitä käytetään yleisesti muuttujien nimien epäselvyyksien välttämiseksi.

Example.cpp

Example.cpp

copy
123456789101112131415
#include <iostream> class Example { public: void multiply(int number) { number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }

Tässä voimme hyödyntää this-avainsanaa, koska se osoittaa nykyiseen olioon osoittimena. Sen attribuutteihin pääsemiseksi on käytettävä ->-operaattoria.

main.cpp

main.cpp

copy
123456789101112131415
#include <iostream> class Example { public: void multiply(int number) { this->number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }

this-avainsanan käyttö on laajalle levinnyt käytäntö useissa eri tilanteissa. Sitä käytetään usein erityisesti suurissa luokissa osoittamaan, että muuttuja on luokan jäsen eikä ulkoinen parametri tai argumentti.

question mark

Mihin this-avainsana viittaa olio-ohjelmoinnissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7
some-alt