Konstruktør og Attributter
En af de primære anvendelser af konstruktører er at initialisere attributter for klassen. En standardkonstruktør kan for eksempel bruges til at sætte startværdier. For eksempel:
main.cpp
#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }
Hvis du ikke angiver en værdi for name-attributten for objektet, vil den blive sat til underfined som standard. Du kan prøve at fjerne denne konstruktør for at se, hvilke ændringer der opstår.
Initialisering af attributter med konstruktør
Ligesom funktioner kan konstruktører tage parametre, hvilket muliggør forskellige argumenter under oprettelsen af objekter. Du kan også overloade dem for at håndtere varierende antal argumenter.
main.cpp
class 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); }
Opgave
Swipe to start coding
Du arbejder med en Location
-klasse og skal initialisere dens attributter ved hjælp af en konstruktør.
- Opret en konstruktør, der tager tre parametre og tildeler dem til instansvariablerne.
- Opret et objekt af
Location
-klassen ved hjælp af konstruktøren. - Udskriv objektets initialiserede attributter til konsollen.
Løsning
solution.cpp
Var alt klart?
Tak for dine kommentarer!