В языке C++ операция (метод) определяется как один из членов
класса. При вызове операции используются те же обозначения, что и при обращении
к атрибутам: операция выбора члена "->" применяется к
соответствующему указателю: Shape* shape;
shape->move(dx,dy);
Параметрами операции могут быть значения одного из встроенных
типов (int, float, char и т.п.), либо значения типов, определенных с помощью
typedef, либо объекты некоторых классов, либо указатели переменных и констант
перечисленных типов, либо указатели объектов.
Имя атрибута или операции, используемое в качестве
идентификатора в реализации метода неявно ссылается на соответствующие члены
объекта, к которому применяется операция. В следующем примере x и y являются
атрибутами объекта класса Shape, к которому будет применена операция move: void Shape::move (Length deltax, Length deltay)
{
x = x + deltax;
y = y + deltay;
}
Это эквивалентно применению неявного параметра this, значением
которого всегда является указатель объекта, к которому применяется операция.
Следующий фрагмент программы эквивалентен предыдущему: void Shape::move (Length deltax, Length deltay)
{
this->x = this->x + deltax;
this->y = this->y + deltay;
}
Ссылка на любой другой объект в описании операции должна
обязательно быть квалифицированной (содержать указатель соответствующего
объекта): window->xmin = x1;
|