I think what you may be looking for is more general computer science theory than anything specific to C++ (especially if you have no interest in learning the language at this time). You should google around for OO design theory, since it applies to many other languages, not just C++ (in fact, if you are looking to learn a language purely for its OO features, you could choose to learn Smalltalk or Python instead).
Polymorphism in C++ might sound a little odd to you. it doesn't work on objects as such, but with pointers-to-objects (and if you don't know what a pointer is, then this explanation maybe won't be much help to you)
When a pointer is created, it's given a "pointed to" type. eg, for a non-polymorphic example, if a pointer has an int as its "pointed to" type, then you may point it to any object within your program which is of the type int.
If, on the other hand, the"pointed to" type is a class, then it may point to any object within your program which is of that class.
here's where polymorphism can happen, because the pointer may also point to objects derived from that class.
Let me reiterate - OO Polymorphism in C++ is not about changing objects, it's about changing pointers. You cannot change the data type of variables within an object. and you cannot even change an object from one derived type to another (Not safely anyway.. it's possible to use some really ugly hacks to do this, but you'll probably end up breaking something pretty badly. so just don't do it).
You're probably wondering exactly what use that is to anyone, if you cant' even change the object.. Well.. it allows a programmer to create a common link (an interface) between objects which would otherwise be unrelated..
here's an analogy.. (I know.. Sorry! I hate analogies too..). Imagine you learn to drive in a Ford Fiesta 1.0 Litre. Your driving instructor tells you that for that specific car-object, using your foot against the 2nd pedal will be invoking the brake() function for that car-object.
but what if you pass your test and buy a Lamborghini Diablo to whizz about in? You knew which function to use for braking in your fiesta.. but now you're driving a different car-object.
Luckily, your middle pedal does exactly the same for every car in the world. in fact, the whole driving interface is the same, even though your car objects are of a completely different type
Chances are, the mechanics of the car objects are rather different under the hood, but you don't care about that, all you care about is that your interface behaves in the way which you expect, that you always have a brake() function, and that invoking this function always stops the car.
What you have, as the driver, is a polymorphic interface to every car you could want to drive.