> B does have a foo method. The problem is that C is derived > from A, not from B. So an instance of C shouldn't be > allowed to pass itself to B.foo. ah, thanks for spotting that. (last time i try to get my brain in gear before breakfast). well then i am all relieved then 2.2 looks good to me :]