Направо към съдържанието

Оператор за присвояване

от Уикипедия, свободната енциклопедия

Операторът за присвояване в езика за програмиране C++ е „=“ (на английски: assignment operator). Както повечето оператори в езика и той може да бъде предефиниран. Това се прави най-вече в обектно ориентираното програмиране, когато потребителят иска да присвои един обект на друг. Той е част от така наречената Голяма тройка, която в повечето случаи е задължителна при моделирането на клас.

Пример за предефиниция на оператора „=“

[редактиране | редактиране на кода]
#include <iostream>
#include <string.h>
using namespace std;

class Example
{
    char* ex;
public:
//...
    Example& operator =(const Example& t); // Предефиниране на =
//...
};
Example& Example::operator =(const Example& t)
// Предефиниране на =
{
    if (this != &t)
    {
        delete [] ex;
        ex  = new char [strlen(t.ex) + 1];
        strcpy (ex, t.ex);
    }
    return *this;
}
//...