Il est indispensable de pouvoir utilise du code provenant d'autres langages comme le C. Le mot-clé extern nom_langage permettra d'utiliser des fonctions d'autres langages que le C.
extern "C" int strcmp(const char *,const char *); extern "C"{ #include <math.h> }permet d'utiliser la fonction C strcmp et d'inclure le contenu de
<math.h>
Pour utiliser qsort :
extern "C" void qsort(void *,size_t,size_t,int (*pf)(void const *, void const *)); // attention pf est un pointeur sur fonction C! class Tab_Ch{ char **tab; int taille; public: void trier(); /*...*/ }; int cmp(char *,char *); // comparaison entre elements extern "C" typedef int (*CF)(void const *,void const *); void Tab_Ch::trier(){ qsort(tab,taille,sizeof(char *),(CF) tab_cmp); } /* alternative : typedef int(*CPPF)(void const *,void const *); extern "C" void qsort(void *, int , int ,CPPF); */