Accueil > Forum > > > > problème d'éritage
problème d'éritage
vendredi 7 août 2009 à 01:44:15 |
problème d'éritage

panthere007
|
Salut,
Bon je vais essayer d'être clair mai avec l'héritage c'est pas facile
précision ce code est programmer sous geany et compiler avec g++
excuser les commentaires en français mai je débute et il faut pouvoir ce relire (déjà que mon français...)
Je cherche a en-capsuler du code système fait en C dans une class.
ce code Ser a crée un trhead
le problème est le suivant. :
j'ai donc ma première classe
qui a le cheminement suivant
classe mere -->[public m_thread_create ]-->[private static m_thread_call] --->[protect virtual m_call_out_procedure]
Bon donc jusque la c'est pas compliqué (hum....)
Le problème est que le code a exécuté ce situera dans un autre fichier *. cpp il faut donc que depuis ce fichier je puisse ajouter le code a exécuté
c'est pourquoi j'ai fait cela ici avec la class B (qui donc devrai ce retrouver dans un autre fichier. cpp)
mai a la compilation j'obtiens
n file included from my_class_ptrhead.cpp:1,
from main.cpp:5:
my_class_ptrhead.h:28: erreur: two or more data types in declaration of ‘m_call_thread’
bon je sais pas ou son passée les balise code sur ce forum je donne un lien plus approprier.
Tapez le texte de l'url ici.
|
|
vendredi 7 août 2009 à 11:41:10 |
Re : problème d'éritage

juju12
|
Faut mettre la déclaration d'héritage AVANT '{'
Code C/C++ :
class B : public c_thread
{
public:
virtual void m_call_thread()
{
std::cout << "thread started" << std::endl;
};
};
|
|
vendredi 7 août 2009 à 11:43:19 |
Re : problème d'éritage

juju12
|
Cela dit j'ai rien compris à ton histoire de fichiers différents.
|
|
vendredi 7 août 2009 à 13:14:07 |
Re : problème d'éritage
|
vendredi 7 août 2009 à 13:27:49 |
Re : problème d'éritage

juju12
|
C'est pas vraiment curieux, puisque tu ne crées aucune instance de classe B, pourquoi donc une méthode de B serait-elle appelée?
Bon, y a l'air d'y avoir pas mal de défauts dans ton code, tu débutes?
D'abord, on n'inclut JAMAIS de fichiers .cpp. Les déclarations des fonctions et classes sont placées dans des headers (.h), et le code implémenté dans les .cpp. Tu peux très bien utiliser dans un .cpp une fonction implémentée dans un autre fichier, du moment que tu la déclares partout où tu l'utilises. D'où l'intérêt des headers.
Par exemple :
Code C/C++ :
// common.h
#pragma once
void Stub(void);
// file1.cpp
#include "common.h"
void Stub(void)
{
return;
}
//file2.cpp
#include "common.h"
int main(void)
{
Stub();
return 0;
}
Clarifie déja ton code.
A quoi sert ta classe B?
|
|
vendredi 7 août 2009 à 22:54:07 |
Re : problème d'éritage

panthere007
|
Merci pour ta réponse.
Oui je débute, mon problème c'est que j'aprend rien si je ne pratique pas. Il faut dire que dans d'autre langage on ne séparait pas les déclarations et le <code> dans les. cpp
c'est vrai que c'est un peut le fouillis
tu veut dire que je devrai l'appeler avec une instance avec le mot clef new ?
Je vais donc bosser un peu pour essayer de le rendre plus correct en n’espérant pas faire le contraire.
Ma classe B servira dans ncurse, ou une boucle pour le clavier tournera en permanence de même pour la souris
j'y place donc un code euh disons pour faire plus simple et voir si ça tourne.
ncuse est aussi pas simple a comprendre car la doc est en anglait
Je crois qu'on peut s'en passer mai c'est dans le but d'apprendre, je trouve que faire tourner du code dans un thread demande plus de boulôt.
plus tard quand mes connaissances le permettront je passerai à l'optimisation.
voir les erreurs dans l'ensemble permet de mieux faire dans l'ensemble.
|
|
samedi 8 août 2009 à 01:25:07 |
Re : problème d'éritage

juju12
|
Il faut créer une instance de classe pour l'utiliser, soit sur la pile
(B c_b;) soit sur le tas (B*p_b=new B(...);). Toi tu créais simplement une instance de classe c_thread, à aucun moment il n'y a de référence à B.
|
|
Cette discussion est classée dans : problème, code, class, cpp, mai
Répondre à ce message
Sujets en rapport avec ce message
INI :: AIDEZ MOI SVP !! [ par bdkiller ]
Bonjour,Je suis newbie dans le Cpp. J'utilise Borland Cpp Builder.J'ai un petit problème avec les fichiers ini. Et vu que je n'arrive pas à le résoudr
Problème en C++ [ par Farqual ]
Bonjour, je viens de me lancer dans le cpp mais j'ai un problème au niveau de la compilation d'un fichier source en un .exe j'apprend avec un livre et
Le nouveau GCC et le problème avec iostream.h [ par zaim khelifi ]
Bonjour à tous; Dernièrement, avec le nouveau compilateur GCC 4.3, lorsqu’on compile :[code=cpp] #include int main() { cout<<"Hello Monde\n"; } [/cod
setEnabled() et QLabel [ par raf924 ]
Bonjour, je fais un programme destiné à verrouiller mon écran, dont voici le code : dialog.h [code=cpp] #ifndef DIALOG_H #define DIALOG_H #include
Violation d'accés sur opérateur new [ par afterwork ]
Bonsoir, j'experimente un poblème pour le moins deconcertant, des crashs et allocations de memoire intempestives, acrochez vous c'est assez surprenan
Problème de traduction d'un Checksum Perl en langage C++ [ par dreddfullmetal ]
Bonjour a tous :) Je suis nouveau sur le site et je viens a votre rencontre car je suis sur un code qui me pose problème depuis quelque jour déjà. Al
Petite question sur if( x || y || z) [ par G0ss3Yn ]
Bonjour, J'ai lu je ne sais plus où (ou en tout cas j'ai ça en tête) que le test [code=cpp]if( x || y || z) paf( ) ;[/code] est en fait la même chos
Tableaux... [ par pop70 ]
Bonjour, Je cherche à faire un petit jeu en 2D, Celui est constitué d'une Map, sur laquelle viennent se placer toutes sortes d'objets. Chaque objet
Equivalent C++ du JAVA class C<T extends M> [ par bbenator ]
La question est dans le titre: Java : [code=java]class C{ }[/code] Et j'aimerai faire en C++ l'équivalent soit un truc du genre [code=cpp]tem
stuctures qui s'apellent mutuellement [ par Daemonight ]
Bonjour à tous, Ca fait un petit moment déjà que je me pose la question suivante : Comment faire pour que le code suivant fonctionne : [code=cpp] str
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|