Мы смогли использовать в программе (см. листинг 1.17) не только определенные нами функции-методы, но и операцию присваивания. Для любого определяемого класса эта операция реализуется по умолчанию, если не определена программистом явно. Слева и справа от знака присваивания могут стоять объекты типа TMoney.
Точно так же, не заботясь о проблемах реализации массивов денег, мы можем использовать все операции, связанные с массивами. Простой пример, представленный в листинге 1.19, демонстрирует это.
// объявление массива
// инициализация элементов массива
// вывод- элементов массива
// обнуление суммы
// суммирование элементов массива
Листинг 1.19. Использование массива денег int main()
{ ТМопеу А[5], sa;
for(int i = 0; i < 5; i++)
A[i].Init(i); for(int i = 0; i < 5; i++)
A[i] .DisplayMoneyO ; sa.lnit(0.0);
for(int i = 0; i < 5; i++)
// второй вариант
// суммирование элементов массива
sa=sa.AddMoney(A[i]); sa.Di splayMoney(); sa.Init(0.0);
for(int i = 0; i < 5; i++)
sa=A[i].AddMoney(sa); sa.DisplayMoneyO ; return 0;
}
Наряду с обычными переменными мы можем задействовать в программе и указатели типа ТМопеу. В следующем примере, представленном в листинге 1.20, показано объявление и использование указателей типа ТМопеу.
Листинг 1.20. Использование указателей типа ТМопеу int main()
// объявление указателей // и создание объектов // инициализация и вывод
// сложение
// ввод и вывод
// уничтожение объектов
{ ТМопеу *pt = new ТМопеуО,*рр,*ps; рр = new ТМопеу(); ps = new ТМопеу(); pt->Init(1000.67); pt->DisplayMoney(); pp->Init(2000.78); pp->DisplayMoney(); ps->Init(0.0); ps->DisplayMoneyО; *ps = (*pt).AddMoney(*pp); ps->DisplayMoney(); ps->ReadMoneyО; ps->DisplayMoney(); delete pp; delete pt; delete ps; return 0;
}
Пример простой; самое важное, что он демонстрирует, — способы доступа к методам через указатель. Чаще используется операция ->, но доступ к методу сложения выполняется с помощью другой операции — разыменования *. И снова обратите внимание на скобки вокруг указателя pt — ситуация совершенно аналогична приведенной ранее для указателя this. |