Faux!
Tu contrôles bien plus le design de ton object en C++ car tout est possible. Tu as le choix entre plein de méthode
structMyClass{// le plus classique, une fonction virtuellevirtualintmyVirtualFunction(double);// un pointeur de fonction comme en Cint(*myPointer)(double);// une table virtuel manuellestructVTable{int(*firstFunction)(double)};VTable*vtable;// boost::signalssignals<int(double)>mySignal;// Qt signals (c'est tricher?)signals:intmyQtSignal(double);};/* et enfin, le static polymorphise via le Curiously recurring template pattern qui a l'avantage d'être plus performent car il peux inliner les appels. Vas-y pour faire ça en C */template<classDerived>structBase{intmyFunction(doublea){returnstatic_cast<Derived*>(this)->myFunction(a);}};
Bref, plein de possibilité offerte en C++, chacune adaptée à son usage. Mais dans tout les cas, la manière de faire en C++ est moins fastidieuse, plus facile à écrire et relire, et moins prône à l'erreur.
[^] # Re: Ne te prends plus la tête
Posté par Gof (site web personnel) . En réponse au journal C(++) ?. Évalué à 9.
Faux!
Tu contrôles bien plus le design de ton object en C++ car tout est possible. Tu as le choix entre plein de méthode
Bref, plein de possibilité offerte en C++, chacune adaptée à son usage. Mais dans tout les cas, la manière de faire en C++ est moins fastidieuse, plus facile à écrire et relire, et moins prône à l'erreur.
Bref, le C est un mauvais choix.