Если два объекта имеют один и тот же тип, то можно присваивать один объект другому. Это означает, что данные объекта с правой стороны равенства будут скопированы в данные объекта с левой стороны равенства. Например, следующая программа выводит значение 99:
#include <iostream.h>
class myclass {
int i;
public:
void set_i(int n) {i=n;}
int get_i() {return i; }
};
int main ()
{
myclass ob1, ob2;
ob1.set_i(99);
ob2 = ob1; // присвоение данных ob1 объекту ob2
cout << "this is ob2' s i: " << ob2.get_i();
return 0;
}
По умолчанию все данные одного объекта присваиваются другому путем побитового копирования. Однако возможно перегрузить оператор присваивания и определить некоторые другие процедуры присвоения.