#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