Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Returnera Anpassade Datatyper | Function Return Values Specification
C++-Funktioner

Returnera Anpassade Datatyper

Svep för att visa menyn

Du kan returnera egna strukturer och klasser från funktioner. När du returnerar en instans av en struct eller klass från en funktion returnerar du i princip en kopia av objektet (samma som när du returnerar enkla datatyper).

Detta gör det möjligt att kapsla in relaterad data och funktionalitet inom en enda struktur- eller klassinstans, skicka den mellan funktioner eller använda den i olika delar av ditt program.

För att returnera en struktur/klass måste du använda strukturens/klassens namn som typangivare i funktionssignaturen.

main.cpp

main.cpp

1234567891011121314151617181920212223
#include <iostream> // Define a custom structure called Person struct Person { std::string name; int age; }; // Function that returns a Person object Person create_person(const std::string name, const int age) { return Person { name, age }; } int main() { // Call the function to create a Person object Person person = create_person("Alice", 30); // Access and print the attributes of the returned Person object std::cout << "Name: " << person.name << std::endl; std::cout << "Age: " << person.age << std::endl; }

Den här koden definierar en egen struktur Person med två fält: name och age. Funktionen create_person() skapar och returnerar ett Person-objekt som är initierat med de angivna värdena. I main() anropas funktionen för att skapa en Person-instans, och objektets detaljer skrivs ut till konsolen.

question mark

Vilken funktionssignatur returnerar korrekt ett objekt av strukturen Person?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 3. Kapitel 3
some-alt