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

Discussion :

Constructeur de classe avec paramètres

  1. #1
    Invité
    Invité(e)
    Par défaut Constructeur de classe avec paramètres
    Bonsoir,
    Une question à propos du code suivant sur la librairie Phonon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MediaSource *masource=new MediaSource(iodevice)
    On déclare un pointeur par allocation dynamique : on fait passer au constructeur un pointeur vers un QIODevice : à quoi sert-il exactement ce paramètre ? A-t-il un rôle déterminant par rapport au pointeur objet masource ?
    Merci. Bonne soirée.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    Hello,

    Jette un oeil à la doc Qt, c'est vraiment un des points forts de cette librairie:

    http://qt.developpez.com/doc/latest/...#MediaSource-6

    Le QIODevice, c'est une classe abstraite pour des objets "input/output", comme un gestionnaire de fichier (QFile) par exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    QFile myFile("c:\\myfile.mp3");
    MediaSource src(&myFile);
    Si tu regardes la doc de QIODevice:

    http://qt.developpez.com/doc/latest/qiodevice.html
    Inherited by Q3Socket, Q3SocketDevice, QAbstractSocket, QBuffer, QFile, QLocalSocket, QNetworkReply, and QProcess.
    Que ça soit un fichier, une socket réseau, un buffer mémoire, un process... la source phonon fonctionne de la même façon, de façon transparente.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    J'ai bel et bien lu la doc + les tutos mais j'aurais aimé que l'on m'explique tout ça car je n'ai toujours pas compris.
    Merci. à bientôt.
    Cordialement, Gizmo.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je vais poser la question dans le forum c++ débutant peut-être est-ce plus approprié.
    Bonne journée à vous.
    Cordialement, Gizmo.

  5. #5
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    La doc me parait pourtant claire, il faudrait dire quel point tu ne comprends pas :
    http://qt.developpez.com/doc/latest/...#MediaSource-6

    Il est dit que le QIODevice passé en argument sera utilisé en lecture seule comme source des données pour ton objet mediasource. Donc oui il est important.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Merci pour la réponse c'était en effet ce que je me demandais.
    C'est la première fois que je fais un programme qui touche à l'audio : créant un objet MediaSource avec pour paramètre le QIODevice je n'ai pas besoin de buffer ou autre ?
    Merci d'avance. Cordialement, Gizmo.

    PS : c'est la première fois que je rentre vraiment dans la POO pure et je dois avouer que je m'arrache les cheveux : c'est normal docteur ?
    Dernière modification par Invité ; 16/11/2010 à 08h32.

  7. #7
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    Je n'ai jamais utilisé l'audio dans Qt, mais selon la doc : http://qt.developpez.com/doc/latest/...e.html#details , rien de particulier n'est précisé. Il y a de fortes chances que le QIODevice gère donc son buffer tout seul sans que tu aies besoin de t'en occuper.

    Et pour la POO, faut se laisser le temps de digérer cette philosophie

  8. #8
    Invité
    Invité(e)
    Par défaut
    Oui ça c'est sûr il faut digérer J'ai réécris le calculateur vidéo de BPF et ça v j'ai pû m'en sortir quasi seul (avec une petite aide des membres du forum developpez.com : sur l'accès aux méthodes des objets avec le '.' et la '->')
    Là c'est mon premier vrai projet que je fais en autodidacte : je vous jure c'est pas de la tarte
    Mais bon... de fil en aiguille en posant des questions ici et au forum c++ je commence à comprendre : par rapport à la semaine dernière j'en sais déjà plus sur les constructeurs de classe, les paramètres que l'on y passe (alors que j'ai vu dans les tutos que c'est pas la partie la plus facile).
    Pour moi la POO avec Qt est quand assez simple et la librairie est comme vous dites très bien documentée : c'est vraiment le must pour un débutant en c++ comme moi qui n'a, à son actif, qu'une 40aine de programmes console et 10 jours de POO Qt
    Merci. Bonne journée.
    Cordialement, Gizmo.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Par contre j'ai appris un truc sur le QIODevice c'est que c'est une classe abstraite donc on ne peut pas créer d'objet directement depuis QIOdevice il faut un pointeur qui pointe dessus mdr. Mais ne m'aidez pas ! Je veux trouver par moi-même Déjà la classe QAudioInput propose une fonction renvoyant un pointeur sur QIODevice... Ne m'en dites pas plus je vous en conjure
    Bonne journée.

  10. #10
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    Je vais quand même t'aider un peu, une classe abstraite est faite pour être héritée, si tu regardes le fonctionnement de l'héritage en Objet, tu verras que dans ton cas tu peux donner un pointeur vers n'importe quel objet d'une classe fille de QIODevice.

    Mais pour bien comprendre comment ça fonctionne, il te faut un aperçu plus général des principes objets, je te conseille vivement de lire des cours d'introduction avant d'approfondir des points particuliers :

    http://public.enst-bretagne.fr/~brun...php?pid=tutcpp
    http://cpp.developpez.com/cours/cpp-objet/

    et ensuite seulement
    http://cpp.developpez.com/faq/cpp/?p...LASS_abstraite
    http://cpp.developpez.com/faq/cpp/?p..._polymorphisme

  11. #11
    Invité
    Invité(e)
    Par défaut
    Salut,
    Sans vouloir abuser du up, c'est vrai que je ne t'avais pas remercié pour les liens depuis tout ce temps alors je te le dis maintenant : merci pour les liens depuis tout ce temps.
    Je vais y jeter un oeil ce week-end si j'ai un peu de temps.
    Bon week-end à toutes et à tous.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/11/2014, 15h21
  2. déclarer en xaml un instance de classe avec paramètre
    Par TERRIBLE dans le forum Windows Presentation Foundation
    Réponses: 15
    Dernier message: 15/08/2010, 16h08
  3. Généricité en Java (classe avec paramètre)
    Par epcilone059 dans le forum Langage
    Réponses: 1
    Dernier message: 27/03/2009, 12h05
  4. Réponses: 1
    Dernier message: 28/03/2006, 22h08
  5. [C#][WebServices] Appel methode avec une classe en paramètre
    Par bran_noz dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/09/2004, 16h41

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