Dichiarando una struttura:
struct campione
{
unsigned int indice;
double vaore;
}obj;
Io so che "indice" occupa i primi 4 byte della memoria occupata da
obj, e "valore" i successivi 8 (ipotizzando che i campi vengano allineati su non più di 4 byte).
In quali condizioni posso dire la stessa cosa di una classe?
Ad esempio, se in C++ scrivo:
class campione
{
public:
unsigned int indice;
double vaore;
}obj;
In teoria quanto detto sopra è ancora valido, dal momento classi e strutture sono la stessa cosa, salvo il fatto che dove non espressamente specificato i membri delle strutture sono
public,
mentre i membri delle classi sono
private. Ma se io inizio ad avere cose più elaborate, se inserisco dei metodi, o se derivo la classe, su quali certezze posso fare affidamento?
Esiste in pratica, che voi sappiate, un metodo per accedere al blocco di memoria in cui un oggetto memorizza i membri dato, e sapere quanto è lungo?
Michele