The pattern i would try to use, if it's just for notification's sake, is to write an abstract C++ class that defines an abstract respondToNotification. If you need to know the type of notification that gets a little trickier, but it doesn't seem too far fetched to make a C++ class or struct that's just notificationType, and it has an enum that defines the type, etc.
So anyhow, you have an abstract class notificationRecipient that defines a respondToNotification method that takes a notificationType argument... then any C++ class that needs to accept an NSNotification inherits from notificationRecipient, and implements respondToNotification... and does whatever it needs to do in there, likely it's just a "hub" that calls other methods in the class based on the type of notification received.
Then in your Objective-C wrapper class you have an ivar that is a notificationRecipient *, etc... you initialize it by passing the pointer to any C++ object whose class inherits from notificationRecipient... and when this class gets an NSNotification, it maps the type to a C++ notificationType, and invokes respondToNotification on its notificationRecipient * ivar.
It's a little complicated, but it would allow you to re-use the wrapper with any C++ object that you want to send an NSNotification to.
Note my C++ is rusty. I think i called things the right thing for C++, but forgive any misuses of terms. I think the logic is sound, at least, and works for C++ b/c of multiple inheritance (so anything can inherit from notificationRecipient).
-Lee