#include <iostream> #include <vector> class ints { public: //vetor de ponteiros para int std::vector<int*> inteiros; //função que imprime valor de todos inteiros apontados void escreve() { for(auto i:inteiros) std::cout << *i << ", "; std::cout << std::endl; } }; int main() { //declara 3 ints int x = 1; int y = 2; int z = 3; //cria objeto A da classe ints ints A; //salva ponteiros em A A.inteiros.push_back(&x); A.inteiros.push_back(&y); A.inteiros.push_back(&z); //cria objeto B através de cópia ints B(A); //cria objeto C e usa operador atribuição ints C; C = A; //verifica conteúdo A.escreve(); B.escreve(); C.escreve(); //A, B e C apontam para os mesmos inteiros, incluindo y y = 666; //verifica-se que a mudança é visível através de todos objetos: A.escreve(); B.escreve(); C.escreve(); }
Standard input is empty