Haaste: Konstruktori ja Attribuutit
Yksi konstruktorien ensisijaisista käyttötarkoituksista on alustaa luokan attribuutit. Esimerkiksi oletuskonstruktoria voidaan käyttää asettamaan alkuarvot. Esimerkki:
main.cpp
1234567891011121314#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }
Jos et määritä olion nimi-attribuutille arvoa, se asetetaan oletuksena arvoksi underfined. Voit kokeilla poistaa tämän konstruktorin nähdäksesi, mitä muutoksia tapahtuu.
Attribuuttien alustaminen konstruktorilla
Kuten funktiot, konstruktorit voivat ottaa parametreja, jolloin olion luonnin yhteydessä voidaan antaa erilaisia arvoja. Voit myös ylikuormittaa ne käsittelemään vaihtelevia parametrimääriä.
main.cpp
123456789101112131415161718class Person { public: Person(std::string _name, std::string _surname, int _age) { name = _name; surname = _surname; age = _age; } std::string name; std::string surname; int age; }; int main() { Person person("Bob", "Song", 23); }
Swipe to start coding
Kuvittele, että rakennat yksinkertaista karttajärjestelmää. Sinun tulee luoda Location-luokka, joka edustaa pistettä kartalla nimellä ja koordinaateilla. Tehtävänäsi on toteuttaa konstruktori sekä metodi, joka laskee etäisyyden toiseen sijaintiin.
- Toteuta konstruktori joka alustaa kaikki kolme kenttää:
- Konstruktorin tulee ottaa kolme parametria:
std::stringnimeä varten sekä kaksidouble-arvoa x- ja y-koordinaateille. - Sisällä konstruktorissa parametrin name arvo asetetaan olion
name-kenttään. - Parametrin x arvo asetetaan olion
x-kenttään. - Parametrin y arvo asetetaan olion
y-kenttään.
- Konstruktorin tulee ottaa kolme parametria:
- Toteuta metodi
distanceTojoka ottaa toisenLocation-olion parametrina:- Käy läpi nykyisen olion ja toisen olion
x- sekäy-koordinaatit. - Laske ero
x-koordinaateissa:other.x - x. - Laske ero
y-koordinaateissa:other.y - y. - Laske etäisyys kaavalla:
sqrt(dx * dx + dy * dy). - Palauta laskettu etäisyys
double-arvona.
- Käy läpi nykyisen olion ja toisen olion
Esimerkki
Location("Home", 0.0, 0.0) ja Location("Office", 3.0, 4.0) -> 5.0
Location("Park", 1.0, 2.0) ja Location("School", 4.0, 6.0) -> 5.0
Location("Cafe", -1.0, -1.0) ja Location("Library", 2.0, 3.0) -> 5.0
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.13
Haaste: Konstruktori ja Attribuutit
Pyyhkäise näyttääksesi valikon
Yksi konstruktorien ensisijaisista käyttötarkoituksista on alustaa luokan attribuutit. Esimerkiksi oletuskonstruktoria voidaan käyttää asettamaan alkuarvot. Esimerkki:
main.cpp
1234567891011121314#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }
Jos et määritä olion nimi-attribuutille arvoa, se asetetaan oletuksena arvoksi underfined. Voit kokeilla poistaa tämän konstruktorin nähdäksesi, mitä muutoksia tapahtuu.
Attribuuttien alustaminen konstruktorilla
Kuten funktiot, konstruktorit voivat ottaa parametreja, jolloin olion luonnin yhteydessä voidaan antaa erilaisia arvoja. Voit myös ylikuormittaa ne käsittelemään vaihtelevia parametrimääriä.
main.cpp
123456789101112131415161718class Person { public: Person(std::string _name, std::string _surname, int _age) { name = _name; surname = _surname; age = _age; } std::string name; std::string surname; int age; }; int main() { Person person("Bob", "Song", 23); }
Swipe to start coding
Kuvittele, että rakennat yksinkertaista karttajärjestelmää. Sinun tulee luoda Location-luokka, joka edustaa pistettä kartalla nimellä ja koordinaateilla. Tehtävänäsi on toteuttaa konstruktori sekä metodi, joka laskee etäisyyden toiseen sijaintiin.
- Toteuta konstruktori joka alustaa kaikki kolme kenttää:
- Konstruktorin tulee ottaa kolme parametria:
std::stringnimeä varten sekä kaksidouble-arvoa x- ja y-koordinaateille. - Sisällä konstruktorissa parametrin name arvo asetetaan olion
name-kenttään. - Parametrin x arvo asetetaan olion
x-kenttään. - Parametrin y arvo asetetaan olion
y-kenttään.
- Konstruktorin tulee ottaa kolme parametria:
- Toteuta metodi
distanceTojoka ottaa toisenLocation-olion parametrina:- Käy läpi nykyisen olion ja toisen olion
x- sekäy-koordinaatit. - Laske ero
x-koordinaateissa:other.x - x. - Laske ero
y-koordinaateissa:other.y - y. - Laske etäisyys kaavalla:
sqrt(dx * dx + dy * dy). - Palauta laskettu etäisyys
double-arvona.
- Käy läpi nykyisen olion ja toisen olion
Esimerkki
Location("Home", 0.0, 0.0) ja Location("Office", 3.0, 4.0) -> 5.0
Location("Park", 1.0, 2.0) ja Location("School", 4.0, 6.0) -> 5.0
Location("Cafe", -1.0, -1.0) ja Location("Library", 2.0, 3.0) -> 5.0
Ratkaisu
Kiitos palautteestasi!
single