yes.. that's what I ment... (or meant)

But I don't understand. Why would a derived class of a derived class work? But a derived class would not work?!

The CConnection class is already a derived class of class (interface) IConnection and some atl class (which I think have defined the pure virtual functions).