Costruttori in c++

di il
7 risposte

Costruttori in c++

Ciao a tutti, scusate la domanda che per molti può risultare banale, ma il mio professore di programmazione (ingegneria informatica) è passato da un std::cout << "hello world"; a un videogioco testuale in un'ora e ha tirato fuori una infinità di cose senza spiegare bene, semplicemente programmando su clion codici su codici....

allora io conosco il c, dato l'esame di fondamenti di informatica, per cui potete usare il c come paragone se volete.

il mio problema attualmente sono i costruttori.
Ho capito, almeno credo, cosa siano le classi e gli oggetti, ma non capisco cosa fa il costruttore.
è una funzione? sta dentro la classe o fuori? che utilità ha? che sintassi deve avere?

scusate ma purtroppo con le cose che trovo su internet non capisco.. e il manuale è scritto dal professore ovviamente...

7 Risposte

  • Re: Costruttori in c++

    In termini molto sintetici: il costruttore è una funzione che serve, come dice il nome, a "costruire" l'oggetto. Quando un oggetto viene creato viene immediatamente chiamato il costruttore che si deve occupare di inizializzare TUTTO quello che serve.
    All'estremo (temporale e logico) opposto trovi il distruttore: chiamato quando l'oggetto viene distrutto si occupa di ripulire la memoria, di chiudere file, etc.
  • Re: Costruttori in c++

    nicolap ha scritto:


    In termini molto sintetici: il costruttore è una funzione che serve, come dice il nome, a "costruire" l'oggetto. Quando un oggetto viene creato viene immediatamente chiamato il costruttore che si deve occupare di inizializzare TUTTO quello che serve.
    All'estremo (temporale e logico) opposto trovi il distruttore: chiamato quando l'oggetto viene distrutto si occupa di ripulire la memoria, di chiudere file, etc.
    oh grazie mille, ora inizio a capire

    quindi questa funzione va messa dentro la definizione di una classe? deve avere anche una dichiarazione esterna/interna alla classe?

    poi se ho capito bene, quando voglio creare un oggetto da una classe viene implicitamente "evocata" la funzione del costruttore che attribuisce una inizializzazione agli attributi, giusto?
  • Re: Costruttori in c++

    koyuki98 ha scritto:


    quindi questa funzione va messa dentro la definizione di una classe? deve avere anche una dichiarazione esterna/interna alla classe?
    Si! Fa decisamente parte della classe.
    poi se ho capito bene, quando voglio creare un oggetto da una classe viene implicitamente "evocata" la funzione del costruttore che attribuisce una inizializzazione agli attributi, giusto?
    Giusto. Per cominciare
  • Re: Costruttori in c++

    @koyuki98 la domanda sorge spontanea:

    mai pensato di ACQUISTARE un'ALTRO LIBRO magari SPECIFICO sul linguaggio?

    Comunque, se usa "CLion", il tuo prof e' un GRANDE!

    Dovresti "genufletterti" dinnanzi alla SUA SAPIENZA

    E NON SI CHIAMANO funzioni, ma METODI, e sono CIRCA come le funzioni, ma CIRCA!
  • Re: Costruttori in c++

    migliorabile ha scritto:


    @koyuki98 la domanda sorge spontanea:

    mai pensato di ACQUISTARE un'ALTRO LIBRO magari SPECIFICO sul linguaggio?

    Comunque, se usa "CLion", il tuo prof e' un GRANDE!

    Dovresti "genufletterti" dinnanzi alla SUA SAPIENZA

    E NON SI CHIAMANO funzioni, ma METODI, e sono CIRCA come le funzioni, ma CIRCA!

    il libro che ha scritto il professore è specifico per il c++


    cosa cambia da metodi a funzioni?
  • Re: Costruttori in c++

    I metodi sono un sottoinsieme proprio delle funzioni.
    Chiamiamo metodi le funzioni che "appartengono" alle classi.
    Più avanti troverai anche delle cose un po' più confuse ma per ora basta questo.

    Forse se per spiegare gli oggetti/classi usassero un semplice esempio con una finestra con 3 bottoni e 3 editbox si capirebbe meglio.
  • Re: Costruttori in c++

    nicolap ha scritto:


    Forse se per spiegare gli oggetti/classi usassero un semplice esempio con una finestra con 3 bottoni e 3 editbox si capirebbe meglio.
    è quello che penso anche io...



    qualcuno sa dirmi qualcosa sulla sintassi dei costruttori?
Devi accedere o registrarti per scrivere nel forum
7 risposte