#include <iostream>
#include <fstream>
using namespace std;
class K
{
public:
int zmienna;
K()
{
}
K(K &wzorzec)
{
zmienna = 5;
}
};
void fun_pierwsza(K odebrana)
{
cout << odebrana.zmienna << endl;
}
int main()
{
K jeden;
jeden.zmienna = 2;
K dwa(jeden);
cout << dwa.zmienna << endl << jeden.zmienna << endl;
fun_pierwsza(jeden);
return 0;
}
Najpierw dla obiektu jeden jest dla pola zmienna przypisywana wartość 2. Potem tworzymy obiekt dwa korzystając z konstruktora kopiującego. W konstruktorze kopiującym argumentem jest referencja do obiektu - działamy na oryginalnym obiekcie jeden dlatego jednocześnie zmieniamy zawartość pola dla obiektu jeden i dwa ?