Dans les langages de programmation orientés objet avec plusieurs organisations d'héritage et de connaissances, le problème de diamant est une ambiguïté qui se pose lorsque deux classes B et C hériter d'A, et la classe D héritent de B et C.
Quand je vois des extraits de code tels que interface A {
void a();
void b() default { System.out.println("b"); };
void c() final { System.out.println("c"); };
}
...
J'ai découvert certaines incohérences entre compilateurs avec ce programme, xxx la plupart des compilateurs affirment sur la taille de (c) == 8 disant ...
#include <iostream>
using namespace std;
class A { public: void eat(){ cout<<"A";} };
class B: public A { public: void eat(){ cout<<"B";} };
class C: public A { ...