Hi all,
I have a design issue and want to get some feedback on solutions.

I have two classes, let's call them A and B. They have very similar interfaces and are 98% polymorphic. It is in the 2% that they differ which is causing me doubts.

Ideally I would like to derive both these classes from a parent C. Like I say above this will work beautifully for 98% of the time. The issue is that there are a couple of functions A can perform which B can't and vice versa.

Do you think it's still good practice to have these objects inherit from a common class and then deal with the small differences via another solution (eg. Visitor pattern - thanks JohnW)?
Cheers,
BJW