Pro třídu Zaměstnanec bych definoval virtuální metodu function MaPristup(Kam:integer):boolean, kde Kam je cokoli, čím se dá vyjádřit typ přístupových práv k budově. Potomci Dělník a Úředník by tuhle metodu polymorfně nahradili svojí variantou. Čili třída Budova by se Zaměstnanci parametrem Kam jakoby "představila" a on by jí sám řekl, jestli do ní může.
Jiná cesta je definovat druh zaměstnance nějakým atributem třídy Zaměstnanec. Tím by se "představil" Budově a ta by nějakou svojí metodou rozhodla, jestli do ní smí nebo ne (function SmiSem(Kdo:integer):boolean). Ovšem to by se obešlo bez dědičnosti a v podstatě i bez objektů, což zadání nechce.
Víc cest mě nenapadá, ale nevylučuji, že existují.
Zasláno z mobilního telefonu.