Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Konstruktør og Attributter | Konstruktører og Destruktører
C++ OOP

book
Konstruktør og Attributter

En av hovedbruksområdene for konstruktører er å initialisere attributter til klassen. En standardkonstruktør kan for eksempel brukes til å sette startverdier. For eksempel:

main.cpp

main.cpp

copy
#include <iostream>

class Person {
public:
Person() { name = "undefined"; }
std::string name;
};

int main()
{
Person person;
std::cout << person.name;
}
1234567891011121314
#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }

Hvis du ikke angir verdi for name-attributtet til objektet, vil det bli satt til underfined som standard. Du kan prøve å fjerne denne konstruktøren for å se hvilke endringer som oppstår.

Initialisering av attributter med konstruktør

Akkurat som funksjoner kan konstruktører ta parametere, noe som gjør det mulig å bruke ulike argumenter ved opprettelse av objekter. Du kan også overbelaste dem for å håndtere varierende antall argumenter.

main.cpp

main.cpp

copy
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);
}
123456789101112131415161718
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); }
Oppgave

Swipe to start coding

Du arbeider med en Location-klasse og må initialisere dens attributter ved hjelp av en konstruktør.

  • Opprett en konstruktør som tar tre parametere og tilordner dem til instansvariablene.
  • Opprett et objekt av Location-klassen ved å bruke konstruktøren.
  • Skriv ut de initialiserte attributtene til objektet i konsollen.

Løsning

solution.cpp

solution.cpp

#include <iostream>

class Location {
public:
Location(std::string _name, float _x, float _y) {
name = _name;
x = _x;
y = _y;
}
std::string name;
float x, y;
};

int main()
{
Location city("Rome", 41.902782, 12.496366);
std::cout << city.name << ' ' << city.x << ' ' << city.y;
}
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 2
single

single

#include <iostream>

class Location {
public:
___(___)
{

}

std::string name;
float x, y;
};

int main()
{
Location city("Rome", 41.902782, 12.496366);
std::cout << city.name << ' ' << city.x << ' ' << city.y;
}

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

We use cookies to make your experience better!
some-alt