In questi giorni, mentre studio il C++, mi aggiro per la rete in cerca di tutorials e definizioni. Andando sulla wikipedia, (http://it.wikipedia.org/wiki/C_plus_plus ) , ho trovato questo (considerato un semplice esempio )
Ci sono alcune sintassi che non ho ancora visto da nessuna parte...cioe':codice:#include <string> class Message { std::string subject_; std::string from_; public: Message (const std::string& subject, const std::string& from) : subject_(subject), from_ (from) {} std::string subject() const { return subject_; } std::string from() const { return from_; } };
(1) Message (const std::string& subject, const std::string& from) e' il costruttore, prende due argomenti, e non fa niente (le parentesi graffe sono vuote), ma cosa sono quei due punti nella linea : subject_(subject), ??
(2) subject_ e from_ sono due stringhe, giusto? Che significa allora subject_(subject) ??
(3) std::string subject() const { return subject_; } mi pare essere una funzione che restituisce un tipo std::string e non prende argomenti. Ma perchè const si trova tra gli argomenti (parentesi tonde) e gli elementi della funzione (parentesi graffe), come se non appartenesse ne agli argomenti ne' alla funzione? Non era piu' corretto
qualcosa come
std::string subject() { return const subject_; }
??
Lo so, sono ignorante...abbiate pazienza sto facendo del mio meglio...