Skip to content

CPP Generalization

Tamas Borbas edited this page Aug 24, 2015 · 1 revision

C++ Generalization

Supported

  • Simple generalization (no methods with the same name in sub and super classes expect overrided methods, they are working well)
  • Multiple generalization (no methods/attributes with the same name in different super classes)

Not supported

  • Diamond inheritance: StatefullClass can cause diamond inheritance (if the super and the subclass also has state machine)

Known issues

  • Simple inheritance: if child and super class own a method with the same name then the super class's method is hidden (#268 issue)
  • Multiple inheritance: if both super clacces own methods/attributes with the same name then these methods/attributes cannot be used throught the child (#269 issue)
  • Diamond inheritance: if there is any method/attribute in the "peak" class of the diamond (or its super classes) then virtual inheritance should be used or this method/attribute cannot be used through diamond child (#270 issue)
Clone this wiki locally