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 :

pramètre template et instance d'une classe


Sujet :

C++

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut pramètre template et instance d'une classe
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    struct G
    {
    	int nb;
    	G(int b):nb(b){}
    	bool operator()()const{}
    private:
    	G(){} 
    };
     
    template<typename Q> struct F { typedef Q type; };
     
     
    int main()
    { 
     
    	F<G()>::type fun;	   //OK
    	F<G(3)>::type;	//NOK
    	fun(); //ne link pas
     
    	std::cin.ignore();  
    	return boost::exit_success;
    }

    Quel est le type que je passe à F, est ce vraiment l'appel au constructeur de G ?
    Merci

  2. #2
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Tu passes un type qui représente une fonction qui retourne un G et prend en paramètre rien ou un int :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    struct G
    {
    	int nb;
    	G(int b):nb(b){}
    	void operator()()const{}
    private:
    	G(){} 
    };
     
    template<typename Q> struct F { typedef Q type; };
     
    G foo(int) {return G(0);}
    G goo() {return G(0);}
     
    int main()
    { 
      typedef F<G()>::type fun;
      typedef F<G(int)>::type fun2;
     
      fun2* f = &foo;
      fun* g = &goo;
     
      f(0); g()i
     
      return EXIT_SUCCESS;
    }
    Compile

    Les paramètres templates c'est des types (au besoin templates), ou des entiers.

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut
    Merci!je viens juste de comprendre et ton post confirme thanks

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sauvegarder une instance d'une classe Java dans une BDD MySQL
    Par malag dans le forum Administration
    Réponses: 1
    Dernier message: 03/09/2006, 19h23
  2. Réponses: 2
    Dernier message: 17/01/2006, 13h18
  3. Connaitre toutes les instances d'une classe
    Par miniseb dans le forum Langage
    Réponses: 14
    Dernier message: 09/01/2006, 17h35
  4. connaitre l'instance d'une classe
    Par Jahjouh dans le forum C++
    Réponses: 8
    Dernier message: 25/11/2005, 22h44
  5. Réponses: 6
    Dernier message: 06/12/2004, 22h18

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