In primo luogo, la mia ultima codifica è Java e non voglio "scrivere Java in C++".C++ equivalente per dati membro java final
Ecco l'accordo, devo creare una classe immutabile. È abbastanza semplice. L'unico problema è che ottenere i valori iniziali è un po 'di lavoro. Quindi non posso semplicemente chiamare le inizializzazioni per inizializzare i miei membri.
Quindi qual è il modo migliore per creare una classe del genere? E come posso esporre le mie proprietà immutabili/definitive al mondo esterno negli standard C++?
ecco una classe di esempio:
class Msg {
private:
int _rec_num;
int _seq;
string text;
public:
Msg(const char* buffer) {
// parse the buffer and get our member here...
// ... lots of code
}
// does this look like proper C++?
int get_rec_num() { return _rec_num; }
};
in realtà dovrebbe essere "const int get_rec_num() const ..." - Hassan Syed –
Non fa differenza, perché per i tipi built-in, non esiste un valore costante. Non puoi mai scrivere 'get_rec_num() = 7', non importa se il tipo restituito è' int' o 'const int'. – fredoverflow