I clearly recall working with an object-oriented C derivative on the Mac but I cannot find any definitive references to it.
It was back in the days of System 7 and later System 8. It had both constructors and destructors and, I think, method overloading.
One of its elegant features was the ability to define an object which could be put on the stack (yes, the object was pushed, not its reference) which could capture a current state during construction (
getGWorld() rings a bell) and could automatically revert the state to its original on destruction when the method returned. This ensured that all changes to the state were reverted automatically on method exit, kind of like a modern
I think it was called
object-C and I think it might have been a