begin process at 2012 05 28 19:49:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Déclarer des objets dans les attributs de la classe définissant l'objet déclaré


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Déclarer des objets dans les attributs de la classe définissant l'objet déclaré

vendredi 12 août 2011 à 11:00:39 | Déclarer des objets dans les attributs de la classe définissant l'objet déclaré

pachalcs

Bonjour,

Je suis entrain de développer un générateur de traffic et je voulais savoir si l'on peut déclarer des objets (par exemple Packet) dans les attributs de la classe Packet pour pointer sur d'autre paquets.

Concrètement est ce qu'on peut faire cela dans les attributs:
Code C/C++ :

class Packet
{
 
private:
    Packet *m_previousPacket; //  EST CE QUE C'EST POSSIBLE?
    Packet *m_followingPacket; // EST CE QUE C'EST POSSIBLE?
 
public:
 
    DropPacket(); // PAS IMPORTANT POUR LA QUESTION
    MarkedPacket(int VLAN); // PAS IMPORTANT POUR LA QUESTION
 
 
};


Merci d'avance
vendredi 12 août 2011 à 11:04:59 | Re : Déclarer des objets dans les attributs de la classe définissant l'objet déclaré

buno

Administrateur CodeS-SourceS
Bonjour,
Si tu veux faire une liste chainée, pourquoi ne pas te tourner vers les std::vector?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
vendredi 12 août 2011 à 11:11:09 | Re : Déclarer des objets dans les attributs de la classe définissant l'objet déclaré

pachalcs

Je n'ai pas compris ta question? En fait mon probleme c'est de savoir si je peux déclarer un objet Packet dans les attributs de la classe décrivant ce meme objet?

vendredi 12 août 2011 à 11:18:47 | Re : Déclarer des objets dans les attributs de la classe définissant l'objet déclaré

buno

Administrateur CodeS-SourceS
Réponse acceptée !
Oui, c'est possible.
Au vu de ton code, tu cherches à chainer des éléments. Plutôt que de ré-inventer la roue, je te proposais de voir si la classe vector de la STL pouvait correspondre à tes besoins...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
vendredi 12 août 2011 à 11:33:55 | Re : Déclarer des objets dans les attributs de la classe définissant l'objet déclaré

CptPingu

Administrateur CodeS-SourceS
Réponse acceptée !
Petite précision:
- std::array => Tableau à taille fixe.
- std::vector => Tableau à taille variable.
- std::list => Liste doublement chaînée.
- std::forward_list => Liste simplement chaînée.

En gros, ce que Buno te dit, c'est qu'il serait préférable pour toi de faire:
Code C/C++ :
class Packet
{
public:
    DropPacket();
    MarkedPacket(int VLAN);
};

Puis:
Code C/C++ :
std::list<Packet> packets;
// ou
std::list<Packet*> packets;
// ou encore mieux
std::list<Packet::Ptr> packets; // En utilisant un boost::intrusive_pointer sur Packet.


Si tu n'as pas besoin de "retourner en arrière", alors un std::forward_list serait plus adapté qu'un std::list.

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question


Cette discussion est classée dans : classe, objets, déclarer, attributs, packet


Répondre à ce message

Sujets en rapport avec ce message

Attributs de classes [ par jsonor ] J'ai une question concernant les attributs de classes (donc C++).J'ai deux classes A et B, avec la classe A possédant un attribut de type B et la clas iINCLUDE les header [ par psycomel ] Bonsoir, j'ai pleins classes, alors dans la normalité je mets la déclaration des attributs et méthodes dans un fichier header .h et la descrption de c tableau dynamique d'objets [ par jonathan100 ] Bonjour a tous! Voici mon probleme. J'ai une classe Voiture dans Voiture.h. Dans le programme principal, je souhaite créer un tableau qui contiendra d Liste chainée d'objets de classes différentes [ par gillig ] Voici un problème auquel je ne trouve pas de réponse, enfin, rien d'efficace.J'ai une classe CDessin contenant une liste chaînée (CList) de pointeurs Héritage [ par Aldarek ] Bonjour à tous j'ai un petit problème, j'ai du mal à faire le lien entre deux classes Quelqu'un pourrait il m'aider? Voici le code: Manger::Manger(int Interface COM utilisant objets ATL [ par finarfin95 ] Bonjour,J'essai vainement de générer une interface COM pour utiliser les classes/méthodes d'une librairie C++ dans un programme VB. Pour travailler là Probleme de taille d'une liste chainee static qui varie ... [ par rick_moins_moins ] Bonjour,j'ai besoin de faire  une liste chainee dans mon programme afin de cataloguer tous les objets de mon projet. Pour cela ma liste chainee est st classe liste [ par programe_smi ] on m'a demandé de réaliser une classe "liste" de listes chaînées comportant des objets de types différents pour cela on m'a dmandé de creer une classe constante apparetenant à une classe mais non utilisée [ par neodelphi ] Bonjour tout le monde ! Voici mon problème: je souhaiterai déclarer une constante appartenant à une classe et étant éventuellement utilisée dans mon création d'objets dans une boucle [ par nierpa ] Bonjour à tous,voilà ma question :Je lis dans un fichier texte "x", "y","z" et "genre", qui sont les coordonnées de points ainsi que leur genre (somme


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales