virtual-type

What can I do with Virtual Classes?

I've seen (and heard) quite a bit of noise about adding virtual classes to Scala (it already has virtual types, according to Martin Odersky). Could someone provide a layman's perspective (perhaps with an example) on what a virtual type is and what could be possible were scala to have virtual classes? [I have no experience with C or C++...