ВУЗ:
Составители:
Рубрика:
48
первом случае xy означает вызов x.operator(y), во втором – вызов
operator (x,y).
Операции, перегружаемые внутри класса, могут перегружаться
только нестатическими компонентными функциями с параметрами. Вызы-
ваемый объект класса автоматически воспринимается в качестве первого
операнда.
Операции, перегружаемые вне области класса, должны иметь два
операнда, один из которых должен иметь тип класса.
Примеры.
1) class person{…};
class adresbook
{ // содержит в качестве компонентных данных множество объектов
типа //person, представляемых как динамический массив, список или
дерево
…
public:
person& operator[](int); //доступ к i-му объекту
};
person& adresbook : : operator[](int i){. . .}
void main()
{class adresbook persons;
class person record;
…
record = persons [3];
}
2) class person{…};
class adresbook
{ // содержит в качестве компонентных данных множество объектов
типа//person, представляемых как динамический массив, список или дерево
…
public:
friend person& operator[](const adresbook&,int);//доступ к i-му объекту
};
person& operator[](const adresbook& ob ,int i){. . .}
void main()
{class adresbook persons;
class person record;
…
record = persons [3];}
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »