il libro dice che e' possibile in c++ chiamare un metodo di una classe senza che questa sia legata ad un oggetto e senza che i metodi siano definiti statici.
Ecco la sintassi
Classname::methodname();
Ammetto che questo non lo so; considera però che un metodo non è altro che una funzione tradizionale che in più riceve un puntatore 'this' che punta all'oggetto.
vale anche per le variabili membro della classe?
posso fare
Classname::nome della variabile=valore della variabile?
Il libro non lo specifica quindi penserei di no ma non sono sicuro
Di sicuro non lo puoi fare perchè la variabile non esiste in memoria; pensa ai membri di una struttura... fondamentalmente una classe non è altro che una struttura con delle funzioni per manipolarne i membri.
Puoi accedere così alla variabile solo se definita come static, per cui ne esisterà una copia unica condivisa fra tutte le istanze della classe.
Se posso usare il metodo vuole dire che l'oggetto e' caricato in memoria e quando viene fatto?
Come ti dicevo il metodo non è altro che una funzione e quindi fisicamente non viene caricata in memoria, ci sarà sempre ma nell'area "codice" del programma. La particolarità di questa funzione è che riceve un puntatore all'oggetto (this) per accedere ai dati.