
Originariamente inviata da
Peppyno
Esiste un metodo per usare attributi private o protected nel main?
Si, si usano appositi metodi getter/setter per accedere ai membri che interessano, senza che sia necessario l'uso di friend.
Ad esempio:
codice:
class Stazione
{
typedef map<int,int> ChainMap; // per semplicare
private:
int T; // Membro T, tempo di lavorazione della stazione
int E; // Membro E, tempo di migrazione verso la stazione successiva
ChainMap T_migrazione; // Membro t_migrazione, map composta dall'indice della catena da raggiungere e tempo di migrazione verso quella catena
public:
Stazione(int indiceL, int K, int L, int indiceK); // Costruttore della classe Stazione
~Stazione(); // Distruttore della classe Stazione, non serve in questo caso
int getWorkTime() { return T; }
int migrationTime() { return E; }
ChainMap& getChainMap() { return T_migrazione; }
};
int main () {
Stazione stazione(1,2,3,4);
cout << stazione.getWorkTime() << endl;
cout << stazione.getMigrationTime() << endl;
}