Binarna kompatibilita

Vlastnost, ktora trapi programatorov uz dlhe roky

Co je a co nie je nekompatibilna zmena

Skopirovane zo stranky http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++#The_Do.27s_and_Don.27ts

24.Okt.2011 - doplneny ziskany poznatok o enumoch v sekcii “You can”

You can... (compatible changes)
You cannot... (incompatible changes)

o change the template arguments in any way (add, remove or reorder).

If you need to add extend/modify the parameter list of an existing function, you need to add a new function instead with the new parameters. In that case, you may want to add a short note that the two functions shall be merged with a default argument in later versions of the library:

void functionname( int a );
void functionname( int a, int b ); //BCI: merge with int b = 0
You should...

In order to make a class to extend in the future you should follow these rules: