Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Übergeben von Benutzerdefinierten Strukturen als Argumente | Funktionsargumente Spezifikation
C++ Funktionen
course content

Kursinhalt

C++ Funktionen

C++ Funktionen

1. Einführung
2. Funktionsargumente Spezifikation
3. Spezifikation von Funktionsrückgabewerten
4. Einige Fortgeschrittene Themen

book
Übergeben von Benutzerdefinierten Strukturen als Argumente

Wir können auch Strukturen (Klassen) als Argumente der Funktion übergeben. Wir können dies genauso machen wie beim Übergeben einfacher Datentypen, indem wir den Struktur (Klassen) Name als Typspezifizierer in der Funktionssignatur verwenden:

Wie bei einfachen Datentypen können wir benutzerdefinierte Strukturen (Klassen) per Wert, Zeiger oder Referenz übergeben.

cpp

passByValue

cpp

passByPointer

cpp

passByReference

copy
1234567891011121314151617181920212223
#include <iostream> #include <string> // Define a custom structure struct Person { std::string name; int age; }; // Function that takes a Person structure by value void displayPersonInfo(Person p) { std::cout << "Name: " << p.name << ", Age: " << p.age << std::endl; } int main() { // Create a Person structure Person person1 = {"Alice", 30}; // Call the function and pass the Person structure by value displayPersonInfo(person1); }

Hinweis

Es gibt eine weitere, bequemere Möglichkeit, über einen Zeiger auf das Attribut der Struktur zuzugreifen: Wir können den -> Operator anstelle von (*). verwenden. Zum Beispiel:

  • p->name anstelle von (*p).name;
  • p->age anstelle von (*p).age
Aufgabe

Swipe to start coding

Erstellen Sie eine Funktion, um die Durchschnittsnote des Studenten basierend auf seinen Ergebnissen in verschiedenen Fächern zu berechnen und seine Gesamtleistung anzuzeigen.

Wir haben diese Aufgabe bereits zuvor mit einem 2-dimensionalen statischen Array gelöst, aber nun werden wir sie mit einer benutzerdefinierten Struktur umsetzen.
Ihre Aufgabe ist es, den Code wie folgt zu modifizieren:

  • Die Funktion muss das student Argument per Referenz empfangen.

  • Berechnen Sie die Durchschnittsnote des Studenten innerhalb der Funktion (Variable averageScore)

  • Rufen Sie die Funktion auf und übergeben Sie den erstellten Wert student1 als Argument an die Funktion.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 7
toggle bottom row

book
Übergeben von Benutzerdefinierten Strukturen als Argumente

Wir können auch Strukturen (Klassen) als Argumente der Funktion übergeben. Wir können dies genauso machen wie beim Übergeben einfacher Datentypen, indem wir den Struktur (Klassen) Name als Typspezifizierer in der Funktionssignatur verwenden:

Wie bei einfachen Datentypen können wir benutzerdefinierte Strukturen (Klassen) per Wert, Zeiger oder Referenz übergeben.

cpp

passByValue

cpp

passByPointer

cpp

passByReference

copy
1234567891011121314151617181920212223
#include <iostream> #include <string> // Define a custom structure struct Person { std::string name; int age; }; // Function that takes a Person structure by value void displayPersonInfo(Person p) { std::cout << "Name: " << p.name << ", Age: " << p.age << std::endl; } int main() { // Create a Person structure Person person1 = {"Alice", 30}; // Call the function and pass the Person structure by value displayPersonInfo(person1); }

Hinweis

Es gibt eine weitere, bequemere Möglichkeit, über einen Zeiger auf das Attribut der Struktur zuzugreifen: Wir können den -> Operator anstelle von (*). verwenden. Zum Beispiel:

  • p->name anstelle von (*p).name;
  • p->age anstelle von (*p).age
Aufgabe

Swipe to start coding

Erstellen Sie eine Funktion, um die Durchschnittsnote des Studenten basierend auf seinen Ergebnissen in verschiedenen Fächern zu berechnen und seine Gesamtleistung anzuzeigen.

Wir haben diese Aufgabe bereits zuvor mit einem 2-dimensionalen statischen Array gelöst, aber nun werden wir sie mit einer benutzerdefinierten Struktur umsetzen.
Ihre Aufgabe ist es, den Code wie folgt zu modifizieren:

  • Die Funktion muss das student Argument per Referenz empfangen.

  • Berechnen Sie die Durchschnittsnote des Studenten innerhalb der Funktion (Variable averageScore)

  • Rufen Sie die Funktion auf und übergeben Sie den erstellten Wert student1 als Argument an die Funktion.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 7
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt