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 :

Existe il un type indefini


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut
    Tu te focalise trop sur les attributs, et pas sur les fonction. Assurément, pour définir un cercle ou un carré, il faut des variables membres différentes. Maintenant, ce qui compte, c'est ce que tu veux en faire.

    S'il s'agit de les dessiner, une fonction virtuelle unique peut convenir.
    S'il s'agit de savoir si un point est à l'intérieur, une fonction virtuelle unique peut convenir.

    C'est ça qui compte.
    J'ai besoin pour un cercle d'
    un membre "centre" de type point qui indique la position du cercle
    un membre rayon de type float pour la longueur du rayon

    Pour le rectangle il me faut au minimum
    un membre "centre" de type point
    un membre "directionx" de type vecteur qui indique l'orientation du rectangle
    deux membres "longueur" et "largeur" de type float pour la longueur et largeur

    C'est le minimum requis pour caracteriser mes cercles et mes rectangles
    d'autant plus que ces membres sont utilisés pour tester les collisions

    Apres pour les fonctions telle que dessiner, deplacer,... des fonctions virtuelle ne me pose pas de probleme

    Donc le probleme de conception viendrait t il de ma classe objet qui aurait pour membre "forme" qui serait soit de type rectangle ou de type cercle?

    Une autre solution serait de creer la classe forme qui possede tout les attributs de rectangle et cercle mais je trouve cela pas tres optimiser (mais peut etre que je me trompe car ca utilise de la memoire pour rien car pour si j ai un cercle tout les attributs du rectangle ne seront pas necessaire)de plus je compte rajouter quelles forme de plus.
    JolyLoic a raison, tu te trompes sur le sens classe de base. Elle ne rassemble pas les propriétés de tous mais les propriétés communes à tous et qui font que chacun est dans son genre une espèce particulière de la classe de base. les classe dérivées définissent chaque comportement particulier.
    Ca je savais qu'il faut pas creer une classe de base avec tout les membres.

    Comment faut il que je creer une classe de base de type forme ayant pour classe derivee une classe de type "cercle " ou "rectangle" avec les membre énoncé au dessus?

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    d'autant plus que ces membres sont utilisés pour tester les collisions
    Pour répondre avec pertinence au problème Comment représenter les données ?, il faut savoir un peu plus sur le traitement qu'elles vont subir. Apparemment leur position est donnée par le membre commun centre. Comment envisages-tu de tester si deux formes sont entrées en collision ? Que deviennent-elles ensuite après collision ?

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut
    pour tester la collision entre deux cercles je calcule la distance entre les 2 centres des cercles et si la somme des rayons des cercles est superieurs à la distance entre les 2 centres alors il y a collision.

    pour tester la collision entre 2 rectangles il faut projeter chaque rectangle sur les 2 vecteurs direction de chaque rectangle et ensuite regarder si sur las 4 axe les projections des rectangles se superposent.

    Apres collision les objet sont translaté du vecteur de pénétration.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/08/2011, 19h33
  2. exist-il un type HashMap<Integer,Hashmap<String,String>> ?
    Par ramoucha23 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 14/06/2011, 00h04
  3. Réponses: 3
    Dernier message: 20/05/2011, 15h46
  4. [VBA-E] Tester l'existence d'un type de graphique personnalisé
    Par Currahee dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2008, 12h17
  5. Existe-t'il un type tenant sur 2 octets ?
    Par benj63 dans le forum C++Builder
    Réponses: 13
    Dernier message: 20/06/2002, 18h03

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