Herança virtual em C ++

Encontrei isso em um site enquanto lia sobre herança virtual em c ++

Quando a herança múltipla é usada, às vezes é necessário usar a herança virtual. Um bom exemplo disso é a hierarquia de classes iostream padrão:

//Note: this is a simplified description of iostream classes

class  ostream: virtual public ios { /*..*/ }
class  istream: virtual public ios { /*..*/ }

class iostream : public istream, public ostream { /*..*/ } 
//a single ios inherited

Como o C ++ garante que exista apenas uma instância de um membro virtual, independentemente do número de classes derivadas dele?C ++ usa um nível adicional de indireção para acessar uma classe virtual, geralmente por meio de um ponteiro. Em outras palavras, cada objeto na hierarquia iostream possui um ponteiro para a instância compartilhada do objeto ios. O nível adicional de indireção tem uma pequena sobrecarga de desempenho, mas é um preço pequeno a pagar.

estou confuso com a afirmação:

C ++ usa um nível adicional de indireção para acessar uma classe virtual, geralmente por meio de um ponteiro

alguém poderia explicar isso?

questionAnswers(4)

yourAnswerToTheQuestion