begin process at 2012 05 29 17:02:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

problème d'éritage


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

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

panthere007

Merci pour ta réponse, sa compile, mai curieusement le thread n'est pas exécuter dans la classe B

std::cout << "thread started" << std::end

n'affiche rien ??

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&#8217;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


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 : 1,186 sec (3)

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