IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Empêcher une instanciation


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut Empêcher une instanciation
    Hello,

    J'ai une classe parente dont la raison d'être est de factoriser l'implémentation de certains services. Je n'ai pour l'instant pas particulièrement de fonction virtuelle à définir. Et pourtant, j'aimerais empêcher l'instanciation de cette classe.

    A priori, je vois deux solutions :
    - rendre le constructeur virtuel pur
    - rendre le destructeur virtuel pur
    - définir le constructeur en protégé

    Quelle est la meilleure solution, et pourquoi ?

    Merci.

  2. #2
    screetch
    Invité(e)
    Par défaut
    constructeur protégé est a mon sens ce qui se rapproche le plus de ce que tu veux
    de plus, tu vas devoir définir un destructeur virtuelle (puisque c'est une classe de base) et tu peux aussi mettre ce destructeur en virtuel pur.

    moi je ferais le constructeur protégé.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Je n'avais pas pensé au destructeur virtuel pur.

    Je le rajoute dans ma liste. :-)

  4. #4
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    - Constructeur virtuel: pas possible, il n'existe rien de tel.
    - Destructeur virtuel, pour une police/du code, bof. Non virtuel en protégé devrait suffire
    - Contructeur protégé, pourquoi pas aussi.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  5. #5
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Citation Envoyé par Luc Hermitte Voir le message
    - Destructeur virtuel, pour une police/du code, bof. Non virtuel en protégé devrait suffire
    un destructeur est pas toujours, par definition, virtuel ?
    (souvenir d un bouquin, je sais plus lequel, ca montre la certitude que j en ai)

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Citation Envoyé par BainE Voir le message
    un destructeur est pas toujours, par definition, virtuel ?
    (souvenir d un bouquin, je sais plus lequel, ca montre la certitude que j en ai)
    Non, mais il est très fortement conseillé de le rendre virtuel si tu as une fonction virtuelle dans ta classe (cf Scott Me.yers).

Discussions similaires

  1. [POO] imposer une instanciation d'un objet
    Par zenzo dans le forum Langage
    Réponses: 5
    Dernier message: 16/03/2006, 02h08
  2. [SQL Server 2000][W2000] Empêcher une connexion
    Par Débéa dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/02/2006, 11h33
  3. Réponses: 4
    Dernier message: 07/01/2006, 19h10
  4. Empécher une fenètre MDI de se fermer
    Par vanitom dans le forum MFC
    Réponses: 6
    Dernier message: 28/11/2005, 09h21
  5. empêcher une fenêtre de perdre le focus (MDI)
    Par eponette dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/08/2005, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo