En fait, je me suis posé cette question, car dans le livre de Sutter, exceptionnal C++, page 144, on a:
Consider the following code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
class B
{
virtual ~B();
void operator delete (void*,size_t) throw();
void operator[] delete (void*,size_t) throw();
void f(void*,size_t) throw();
};
class D: public B
{
public:
void operator delete (void*)throw();
void operator delete[] (void*)throw();
}; |
Or, dans le livre de Scott Meyers, il nous dit qu'il ne faut jamais traiter des tableau de manière polymorphe.
(Never treat array polymorphically). mais dans le code ci-dessus, cela laisse penser qu'on va utiliser des tableaux d'objets dérivés.
Il y a comme un petit problème, ou du moins, une incohérence dans la question de Sutter.
Partager