объект класса CCurrency с кон
Автор admin Понедельник, 18 мая 2009 11:32
объект класса CCurrency с константой типа int или long. (В определенной выше функции предполагается, что оба операнда являются объектами класса CCurrency). Для этого в класс CCurrency нужно добавить такую функцию: CCurrency operator+ (long Dol) { return CCurtency (Dollars + Dol. Cents); } Включение этой функции позволит использовать оператор + следующим образом: CCurrency Advertising (235. 42); // … Advertising – Advertising + 100; Компилятор будет интерпретировать выражение Advertising + 100 как Advertising.operator+ (100); При этом компилятор вызовет вновь определенную версию функции operator+. Тем не менее целочисленную константу нельзя поставить первой, так как компилятор будет интерпретировать выражение 100 + Advertising как 100.operator+ (Advertising), что не имеет смысла. Чтобы избежать этого, можно написать операторную функцию, которая не является членом класса, но первый параметр которой имеет тип long. // Определяется глобально CCurrency operator+ (long Dol. const CCurrency &Curr) { return CCurrency (Dol + Curr.Dollars. Curr.Cents); } При использовании приведенной выше функции также могут в
Комментарии закрыты.
Последние комментарии