Anfänger hat ein Problem mit Quellcode



  • Hi, kann mir mal jemand erklären was die einzelnen Zeilen genau bedeuten?

    void ausgabe (Kugel *objekt);

    void main()
    {
    Kugel *pkugel;
    ausgabe (pkugel);
    }

    void ausgabe (Kugel *objekt)
    {
    cout <<"\nRadius: " << objekt->radius() <<"\n";
    }

    Danke im voraus!!



  • void ausgabe(Kugel* objekt); // Vorwarddeklaration einer Funktion
    
    int main() // sollte int main() statt void main() heissen
    {
    Kugel* pkugel; // Pointer auf ein Kugelobjekt (noch nicht existierendes)
    // nun müsste man erst einmal ein Objekt anlegen, bevor man es verwendet
    pkugel = new Kugel;
    
    ausgabe(pkugel); // Hier wird die Funktion ausgabe (siehe oben) aufgerufen und
    // pkugel als parameter übergeben
    
    delete pkugel; // nach der verwendung speicher freigeben
    
    return 0; // returnwert der funktion main (kann man auch weglassen)
    }
    
    void ausgabe(Kugel* objekt) // hier wird ausgabe definiert (ihr verhalten
    // spezifiziert)
    {
    cout <<"\nRadius: " << objekt->radius() <<"\n";
    // über objekt->radius wird auf eine Membervariable im Kugelobjekt zugegriffen
    // mittels cout wird diese Ausgegeben.
    }
    


  • Vielen Dank!!!!!!!
    Hat mir sehr weitergeholfen!



  • [EDIT]Jover war schneller und besser.[/EDIT]



  • Kleines Kommentar am Rande.
    In main würde ich das schreiben:

    Kugel kugel(/* ev. Ctor-Argumente wie Radius, etc. */);
    
    ausgabe(&kugel);
    
    return 0;
    

Anmelden zum Antworten