[C++]Aiuto su una sintassi sconosciuta

di Anonimizzato12128 il
5 risposte
Scusatemi per il titolo non molto chiaro, ma cerco un aiuto su di una parte di codice che non ho mai incontrato sino ad ora in c++. Vi posto un paio di esempi:
nodoHuffman(unsigned int freq,char c, nodoHuffman *sinistro=nullptr ,nodoHuffman *destro=nullptr):Nodo(std::pair<unsigned int, char>(freq,c)), sinistro(sinistro), destro(destro) {};

Nodo(Nodo<T> const& src):valore(src.valore){}

nodoAbr(T t1):Nodo<T>(t1){this->sinistro=nullptr;this->destro=nullptr;};
nodoAbr(nodoAbr <T> const& src):sinistro(src.sinistro),destro(src.destro),padre(src.padre){}
Su internet non riesco a trovare un riferimento su cui documentarmi. Sapreste spiegarmelo voi nel pratico o indicare dove posso saperne di più? E' una sintassi che incontro per la prima volta.

Grazie mille.

5 Risposte

  • Ma cosa ti turba? Il template?
  • Non riesco a capire a cosa serve. Cosa sto leggendo? La sinstassi col :, non l'ho mai incontrata. E' un metodo?
  • Eduadie ha scritto:


    Scusatemi per il titolo non molto chiaro, ma cerco un aiuto su di una parte di codice che non ho mai incontrato sino ad ora in c++. Vi posto un paio di esempi:
    nodoHuffman(unsigned int freq,char c, nodoHuffman *sinistro=nullptr ,nodoHuffman *destro=nullptr):Nodo(std::pair<unsigned int, char>(freq,c)), sinistro(sinistro), destro(destro) {};
    
    Nodo(Nodo<T> const& src):valore(src.valore){}
    
    nodoAbr(T t1):Nodo<T>(t1){this->sinistro=nullptr;this->destro=nullptr;};
    nodoAbr(nodoAbr <T> const& src):sinistro(src.sinistro),destro(src.destro),padre(src.padre){}
    Su internet non riesco a trovare un riferimento su cui documentarmi. Sapreste spiegarmelo voi nel pratico o indicare dove posso saperne di più? E' una sintassi che incontro per la prima volta.

    Grazie mille.
    A prima vista direi che si tratta di una procedura di descrizione per l'assegnazione dei valori a dei nodi (grafici o waveform) usando delle funzioni di ricerca tra i tipi delle liste dei nodi(list of(T)) per il "this" dovresti dirlo tu che tipo di oggetto si tratta e lo recuperi dall'intestazione della routine. Puoi postare la definizione iniziale della routine?

    oggetto.proprietà = nullptr
    this->sinistro = nullptr
    nullptr è un assegnazione di valore per un pointer nullo
  • Ziovini, vi state perdendo in un bicchier d'acqua:
    
    class C : B {
       int i;
    public:
       C(): B(), i(27)  {}  // equivalente a "C(){ this->i = 27; }"
    }
    


    nel costruttore:

    - inizializzazione dei membri di istanza
    - chiamata al costruttore nella superclasse

    Basta studiare la SINTASSI del linguaggio, descritta in QUALUNQUE buon libro.

    https://www.amazon.com/dp/0321992784/?tag=stackoverflow17-20
  • migliorabile ha scritto:


    Ziovini, vi state perdendo in un bicchier d'acqua:
    
    class C : B {
       int i;
    public:
       C(): B(), i(27)  {}  // equivalente a "C(){ this->i = 27; }"
    }
    


    nel costruttore:

    - inizializzazione dei membri di istanza
    - chiamata al costruttore nella superclasse

    Basta studiare la SINTASSI del linguaggio, descritta in QUALUNQUE buon libro.

    https://www.amazon.com/dp/0321992784/?tag=stackoverflow17-20

    Aaaah che spiegazione limpida e in che cosa banale mi sono perso! Non siate cattivi su, scritto in questo modo non lo avevo mai incontrato e perciò cercavo un riferimento per imparare

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
5 risposte