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 :

créer un nouveau type à partir d'une classe:possible ?


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 355
    Points : 0
    Points
    0
    Par défaut créer un nouveau type à partir d'une classe:possible ?
    bonjour,

    par defaut dans l'API C# de Unity,le type Castle n'existe pas.
    Dans un projet en C#,on a crée ce type à partir d'une classe Castle créée dans un fichier cs à part.
    Dans un autre fichier cs,on peut alors implémenter ceci:
    En C++,où les classes existent,peut-on faire comme en C#,créer un nouveau type grâce à la création d'une classe?


    merci de votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Je comprends pas bien ta question.
    En C# tu as défini un type quelque part, il s'appelle Castle, tu peux l'utiliser dans n'importe quelle unité de compilation en l'exportant. En C++ c'est pareil, sauf que pour les cas simples tu n'as pas besoin d'exporter ta classe, le fichier d'entête peux suffire.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 355
    Points : 0
    Points
    0
    Par défaut
    la classe est dans le fichier d'en-tête?
    donc aussi en C++,on peut définir un type par une classe à mettre dans le fichier d'en-tête

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Citation Envoyé par tabkelm Voir le message
    donc aussi en C++,on peut définir un type par une classe à mettre dans le fichier d'en-tête
    Ta question est bizarre ou débile

    La classe c'est le principe de la programmation orientée objet (POO) : encapsulation, polymorphisme et héritage (<- si je ne me trompe pas )
    Donc ne pas savoir cela c'est qu'on ne connaît au mieux presque rien à la programmation

    Et pour le C++, c'est compliqué.
    Dans 1 fichier d'entête (.h ou .hpp), tu as la définition de ta classe (mot clef class) (et du reste, comme par exemple, les déclarations avancées ("forward declarations") ou l'"include guard").
    Et dans le fichier source équivalent (.cpp) tu as la définition des méthodes (et du reste, comme par exemple, les membres/ attributs statiques)
    Ensuite tu as la définition des méthodes inline et des templates qui sont également dans le fichier d'entête.

    Mais tout cela est dans 1 des premiers tutoriel sur le C++ - l'organisation du code en C/ C++

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    J'ai l'impression que tu mélanges les termes classe, type, instance, variable.

    Le terme type est assez explicite : c'est une description de quelque chose. Un type est peut être un entier, un flottant, un caractère, un château, une voiture, une imprimante.

    La notion de classe est liée à certaines langages qui permettent de définir des nouveaux types. Exemple en C++ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Castle {
        // des trucs pour décrire un chateau
    };
    Note : struct est presque équivalent à class.

    Une variable a un type. Exemple en C++ :

    a est de type int et a comme valeur 5. Il peut y avoir plein de variables du même type. Une variable ne peut avoir qu'un seul type. En C++, tu ne peux pas changer le type d'une variable après sa création.

    Le terme instance est plutôt utilisé pour parler d'une variable dont le type est donné par une classe. Exemple en C++ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Castle versaille;
    Castle louvre;
    En C++, tu es assez libre : tu peux créer des classes un peu où tu veux. En général, on crée un cpp et un hpp pour cela. Pour créer ensuite des instances dans un autre fichier, il suffit d'inclure le hpp, ce qui permet au compilateur de savoir comment créer des instances == variables.

  6. #6
    Membre éprouvé
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 94
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 562
    Points : 1 253
    Points
    1 253
    Par défaut
    Salut,

    Citation Envoyé par tabkelm Voir le message
    En C++,où les classes existent,peut-on ... créer un nouveau type grâce à la création d'une classe?
    C'est sa définition même ! C'est-à-dire celle d'être un type utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class A {}; //définition d'un nouveau type A
    A a; //instantiation d'un objet (ou variable) a de type A 
    f(a); //utilisation de a dans un appel de fonction

  7. #7
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par tabkelm Voir le message
    En C++,où les classes existent,peut-on faire comme en C#,créer un nouveau type grâce à la création d'une classe?
    merci de votre aide
    ehhhh un bon tuto vous est nécessaire...

    attention à un truc que mes prédécesseurs n'ont peut-être pas percuté c'est qu'avec Unity on ne peut pas créer une classe à la volée c.a.d. que si on veut créer une classe "générique" il faut peut-être la faire hériter d'une classe de base.
    Donc c'est un truc à vérifier.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/03/2019, 11h24
  2. Réponses: 5
    Dernier message: 01/06/2016, 13h42
  3. Réponses: 3
    Dernier message: 18/12/2014, 11h10
  4. [XL-2007] [Débutant] Créer un nouveau classeur à partir d'une ligne d'un tableau
    Par DerJul dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 04/07/2011, 14h53
  5. Réponses: 1
    Dernier message: 14/07/2008, 11h17

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