PDA

Visualizza la versione completa : [C++]Elemento costante in una classe


MaStErYuRi
28-06-2011, 15:56
Nella traccia di un esercizio c' una richiesta che non ho compreso, ovvero:

"La classe Lotto1 estende la classe Prodotto aggiungendo la costante Tipo (di tipo string, inizializzata con il nome della classe)"

"Con il nome della classe" significa che devo passare la string come argomento al costruttore?

Se la definisco const, per definizione non posso modificarla attraverso il costruttore, quindi come la devo inizializzare?

MItaly
28-06-2011, 16:54
Le variabili const non possono essere modificate dopo l'inizializzazione, ma possono ovviamente essere inizializzate (altrimenti non servirebbero a niente :) ). A questo punto basta ricordarsi che l'inizializzazione per i campi di una classe si effettua dal costruttore con la sintassi dell'initialization list (http://www.learncpp.com/cpp-tutorial/101-constructor-initialization-lists/):


#include <string>

class Test
{
public:
const std::string Tipo;

Test()
: Tipo("Test")
{
// ...
}

};

MaStErYuRi
28-06-2011, 17:46
giusto! grazie mille come sempre :)

MItaly
28-06-2011, 17:56
:ciauz:

Loading