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
)
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_; }
};
Ci sono alcune sintassi che non ho ancora visto da nessuna parte...cioe':
(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...