Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3190 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Fonction de débug

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction de débug

n°2021638
lezeb2000
Posté le 07-09-2010 à 15:04:11  profilanswer
 

J'ai dans mon prog une liste d'objets de type A, chacun possédant des objets de type B en attributs, et de même pour B qui possède C, etc
 
Je souhaiterais créer une fonction de debug style "afficher infos", donc par exemple je ferai A.infos() et cette fonction printerait des infos sur A, puis appellerait la fonction infos() sur tous ses attributs de classe B.
B à son tour fait pareil pour elle même et pour ses attributs C.
Ma question est finalement un peu con : y'a t'il un moyen astucieux de gérer l'indentation ? Genre les éléments du niveau 0 ont 0 identation, ceux appellés depuis A, 1, etc...
Ou estc-e que mon idée est globalement pas la bonne?
je suis sous C++ pour infos  :)


Message édité par lezeb2000 le 07-09-2010 à 15:04:26
mood
Publicité
Posté le 07-09-2010 à 15:04:11  profilanswer
 

n°2021643
skeye
Posté le 07-09-2010 à 15:13:27  profilanswer
 

Au lieu d'une fonction qui fait le tout, tu fais une fonction qui retourne le contenu à afficher, et une qui l'imprime.
 
De cette manière dans A tu appelles la fonction qui récupère le contenu de B au lieu de l'afficher, et tu l'affiches à la main dans A en rajoutant une indentation devant chaque ligne.
 
Ca doit se faire assez simplement...


---------------
Can't buy what I want because it's free -
n°2021644
lezeb2000
Posté le 07-09-2010 à 15:15:27  profilanswer
 

Ton truc va pas marcher si je dois afficher plusieurs lignes (genre 1 ligne par attribut)

 

Y'a moyen de faire des tabulations en C++ quand on utilise std::cout ?

Message cité 1 fois
Message édité par lezeb2000 le 07-09-2010 à 15:19:31
n°2021646
Un Program​meur
Posté le 07-09-2010 à 15:19:18  profilanswer
 

Tabulation: \t dans les chaines et les constantes de caracteres.
 
Pour gerer l'indentation, j'ai plutot tendance a passer le niveau et a utiliser un manipulateur qui ajoute le nombre desire d'espace en debut de ligne (on peut aussi mettre un

Code :
  1. << std::setw(indent*3) << ""


en debut de ligne plutot que d'ecrire le manipulateur).


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°2021649
skeye
Posté le 07-09-2010 à 15:23:10  profilanswer
 

lezeb2000 a écrit :

Ton truc va pas marcher si je dois afficher plusieurs lignes (genre 1 ligne par attribut)


Si.
Quand tu retournes les infos tu les retournes sous forme de tableau, et t'affiches ligne par ligne en rajoutant ta tabulation...ou alors tu rajoutes une tabulation après chaque caractère newline dans la chaine retournée...ou alors etc etc.


---------------
Can't buy what I want because it's free -
n°2021651
lezeb2000
Posté le 07-09-2010 à 15:26:12  profilanswer
 

skeye a écrit :


Si.
Quand tu retournes les infos tu les retournes sous forme de tableau, et t'affiches ligne par ligne en rajoutant ta tabulation...ou alors tu rajoutes une tabulation après chaque caractère newline dans la chaine retournée...ou alors etc etc.


Ah ouais ok j'avais pas vu ça comme ça.
Je pense que je vais juste passer un numéro de d'indentation par défaut à 0 dans la fonction, et que j'incrémente à chaque appel successif...
Du coup ça me permet aussi d'empêcher les récursions infinies


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Fonction de débug

 

Sujets relatifs
un programme en python appelle une fonction C .. ?[RESOLU] Fonction dans une fonction - Décompte
[VBA] Forcer un Debug incohérentfonction mailto en php
jquery : stopper une fonction au lancement d'une autreVersion FR ou UK du blog en fonction de la langue du navigateur
[Résolu] Fonction supp petit mot et supp caractères spéciaux[Résolu][PHP] debug de la fonction exec
Debug d'une fonction de validationjournée debug php :pb avec une fonction graphique:
Plus de sujets relatifs à : Fonction de débug


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR