C++ is most useful for applications that you might want to run elsewhere. It's an object-oriented language, but very very flexible.
If you've never worked with classes and objects before it requires an adjustment in thinking. Since you've used REALbasic you've had a taste of object-orientedness. Each interface object in REALbasic is akin to an object, and its built-in handlers are like class methods. The properties of each interface object are akin to object data.
Objective-C is an excellent object-oriented language, but not strongly supported on other platforms. With C/C++ you can use cross-platform libraries like Simple DirectMedia Layer (SDL) to make programs that run on multiple platforms.
Since C++ and Objective-C both encapsulate C you'll need to be well-versed in C anyhow, so tackle this first.
I suggest you choose a simple programming project, like a calculator, and implement it in C. (You'll need to learn the Carbon framework for C/C++.) Your needs at each stage will lead you to investigate the things you need to understand. First you'll have some thing that barely compiles, then a window with buttons, then a bunch of bugs, and eventually a working application. Show your code to an experienced geek and discover how many ways you completely screwed up. Learn better and more proper ways to code it, and rewrite it a dozen times.
Once your calculator is perfect rewrite it in C++.
Then rewrite it in Objective-C. Why not? You'll need to learn the Cocoa frameworks to write in Objective-C.
As part of your C++ learning look into "design paradigms" such as the Model-View-Controller paradigm. Object-oriented code is a paradigm unto itself.