Много платформи разчитат на това хем да имат потребители, които ползват системата безплатно, хем да се наложи потребителите да си платят, когато искат да използват повече предложени функционалности.
Като много прост пример може да имаме такава система, в която всички потребители могат да влагат от парите си, но само "премиум" потребителите да ги теглят след това.
Напишете клас User
, който съдържа:
username
(типstring
, get + set)email
(типstring
, get-only)balance
(типdouble
, get-only)- метод
depositMoney(double amount)
, който увеличаваbalance
сamount
.
Напишете клас PremiumUser
, който освен че съдържа абсолютно всичко изброено за User
, има още:
bankAccountIBAN
(типstring
, get + set)subscriptionStartTimestamp
(типlong
, get-only)- метод
withdrawMoney(double amount)
, който намаляваbalance
сamount
- метод
chargeForSubscription()
, който нямаляваbalance
с42
.
Същата, ама с char*
вместо string
. 😈