#include #include // classe test class Meow { private: std::string m_NomeGatto; int m_Ripetizione; public: Meow(const std::string &NomeGatto,const int &Ripetizioni) : m_NomeGatto(NomeGatto), m_Ripetizione(Ripetizioni) { // Scope Costructor puts("\nClasse inizializzata."); puts("##########Costruttore###########"); printf("Valore:\t\tm_NomeGatto: %s\n", m_NomeGatto.c_str()); printf("Indirizzo:\tm_NomeGatto: %p\n", &m_NomeGatto); printf("Valore:\t\tm_Ripetizioni: %d\n", m_Ripetizione); printf("Indirizzo:\tm_Ripetizioni: %p\n", &m_Ripetizione); // riferimento puts("##########Riferimento###########"); printf("Valore:\t\tNomeGatto: %s\n", NomeGatto.c_str()); printf("Indirizzo:\tNomeGatto: %p\n", &NomeGatto); printf("Valore:\t\tRipetizioni: %d\n", Ripetizioni); printf("Indirizzo:\tRipetizioni: %p\n", &Ripetizioni); } // END costructor void stampami() { puts(".STAMPAMI() dentro classe"); printf("n_NomeGatto: %s\n", m_NomeGatto.c_str()); printf("m_Ripetizione: %d\n", m_Ripetizione); }; void CAMBIO() { m_NomeGatto = "GATTOMODIFICATO"; m_Ripetizione = 21; puts("\nCAMBIO"); printf("gatto_Valore: \t%s\n", m_NomeGatto.c_str()); printf("gatto_Indiri: \t%p\n", &m_NomeGatto); printf("n_Valore: \t%d\n", m_Ripetizione); printf("n_Indirizzo: \t%p\n", &m_Ripetizione); } }; int main(int argc, char const *argv[]) { std::string gatto = "meow"; int n = 3; printf("1 Gatto: %s\n", gatto.c_str()); printf("Indirizzo gatto: %p\n", &gatto); printf("1 N: %d\n", n); printf("Indirizzo N: %p\n", &n); Meow gatto1(gatto, n); gatto1.stampami(); gatto1.CAMBIO(); }