2009-10-24 3 views
0

Salut tout le monde me le faire savoir Comment rendre la classe non dérivable du tout. y a-t-il un moyen? s'il vous plaît faites le moi savoir. ce qui concerne HaraComment rendre la classe non dérivable du tout. y a-t-il un moyen?

+0

Une question similaire sur le SO a été demandé [ici] (http://stackoverflow.com/questions/1000908/is-it-possible-to-forbid- dériver-d'-une-classe-à-la-compilation-temps) –

Répondre

6

Voir this explication sur la façon de le faire, et pourquoi il pourrait ne pas être une bonne idée, par Bjarne Stroustrup (créateur de C++ lui-même).

+0

sympa. merci beaucoup – Haranadh

+0

ce lien semble déplacé à [this] (http://www.stroustrup.com/bs_faq2.html#no-derivation). – Haranadh

+1

Merci @Haranadh, j'ai réparé le lien cassé. – jergason

2

Rendre le constructeur privé.

+0

Il ne suffit pas de rendre le constructeur privé. se référer Lien fourni par "Charles Salvia". Merci à vous deux. :) – Haranadh

3

Rendre le ou les détecteurs privés.

class not_derivable { private: not_derivable(){} }; 

class derived : public not_derivable {}; 

int main() { derived d; // diagnostic } 

ou dtor:

class not_derivable { private: ~not_derivable(){} }; 

class derived : public not_derivable {}; 

int main() { not_derivable *nd = new not_derivable; derived d; //diagnostic } 
Questions connexes