/* (c) 1999-2005, Rony G. Flatscher, Wirtschaftsuniversitaet Wien, Austria Europe
   A *possible* solution to excercise # 13
*/


::CLASS  Euro           PUBLIC
::METHOD denotation     ATTRIBUTE
::METHOD exchangeRate   ATTRIBUTE
::METHOD country        ATTRIBUTE
::METHOD currency       ATTRIBUTE

::METHOD INIT           /* constructor                         */
  EXPOSE denotation country exchangeRate currency
  USE ARG currency, country, denotation, exchangeRate
  self~INIT:super       /* let superclasses initialize too ... */

::METHOD CURRENCY2EURO  /* calc EUR-value       */
  EXPOSE exchangeRate
  USE ARG curr_amount   /* get amount           */
  RETURN  curr_amount/exchangeRate     /* return EUR-value     */

::METHOD EURO2CURRENCY  /* calc value in currency of object    */
  RETURN ARG(1)*self~exchangeRate