Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180

    [C++] liste di inizializzazione

    a che cavolo servono??

    per esempio io mi dichiaro la mia bella classe poligono regolare

    codice:
    class poligono_regolare {
        const int nlati;
        double lunghlato;
        public:
            poligono_regolare(int n = 3, double g = 1.0);
            void scrivi() { cout << '<' << nlati << ", " << lunghlato << '>'; }
    };
    quindi definisco il costruttore

    codice:
    inline poligono_regolare::poligono_regolare(int n, double g) : nlati(n) {
        lunghlato = g;
    }
    la lista di inizializzazione che c'azzecca?
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    già vorrei capirlo anche io, sto leggendo TIC++ e al capitolo 8 mi imbatto in

    codice:
    //: C08:ConstInitialization.cpp
    // Inizializzare const all'interno di una classe
    #include <iostream>
    using namespace std;
     
    class Fred {
      const int size;
    public:
      Fred(int sz);
      void print();
    };
     
    Fred::Fred(int sz) : size(sz) {}
    void Fred::print() { cout << size << endl; }
     
    int main() {
      Fred a(1), b(2), c(3);
      a.print(), b.print(), c.print();
    } ///:~
    Il mio dubbio è : a che serve : size(sz) in
    codice:
    Fred::Fred(int sz) : size(sz) {}
    ??

    Significa che inizializzo la const int size a sz quando il costruttore viene chiamato?

    cioè una implicita size = sz?

    help

  3. #3
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    le costanti in una classe, se nn sbaglio, si possono inizializzare solo tramite lista di inizializzazione...
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    ok, ma il funzionamento è quello che ho descritto? o no?

  5. #5
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    si
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.