begin process at 2008 08 21 19:29:41
1 229 585 membres
400 nouveaux aujourd'hui
14 263 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Les «class» pour débutant [ Archives / Au secours ] (cognac)

Les «class» pour débutant le 10/09/2002 20:17:31

cognac
Voici un petit programme:
|||||||||||||| constante.h||||||||||||
#ifndef CONSTANTES
#define CONSTANTES

#include <iostream>
#include <stdio.h>
using namespace std;

const int a=5;
const int b=10;

#endif
|||||||||||||||||calculateur.h||||||||||||
#ifndef CALCULATEUR
#define CALCULATEUR
#include "constantes.h"

class calcul
{
public: calcul();
~calcul(){}

void resultat();

int somme;

};
#endif
|||||||||||||calculateur.ccp||||||||||||
#include "calculateur.h"

calcul::calcul()
{
somme = a+b;
}
void calcul::resultat()
{
printf("le résultat est : %d\n",somme);
}
|||||||||||||||main.ccp|||||||||
#include <stdlib.h>
#include "calculateur.h"

void main()
{
calcul theCalcul;
theCalcul.resultat();
system("PAUSE");
return 0;
}

Tel quel ça fonctionne mais j'aimerai dans la methode «main» remplacer «theCalcul.resultat();» directement par «printf("le résultat est : %d\n",somme);»
Mais j'obtient un message comme quoi il ne reconnait pas la variable «somme» même si j'ai inclut le «header» calculateur.h. J'ai essayé un pointeur et new mais sans succès. En bout de ligne ce que j'aimerai accomplir c'est de passer la valeur d'une variable d'une class à un autre mais d'un fichier source à un autre.

Merci

cognac

Re : Les «class» pour débutant le 11/09/2002 17:37:28

geantvert
Essaye ça :

printf("le résultat est : %d\n",theCalcul.somme);

A++
Géant Vert


-------------------------------
Réponse au message :
-------------------------------

Voici un petit programme:
|||||||||||||| constante.h||||||||||||
#ifndef CONSTANTES
#define CONSTANTES

#include <iostream>
#include <stdio.h>
using namespace std;

const int a=5;
const int b=10;

#endif
|||||||||||||||||calculateur.h||||||||||||
#ifndef CALCULATEUR
#define CALCULATEUR
#include "constantes.h"

class calcul
{
public: calcul();
~calcul(){}

void resultat();

int somme;

};
#endif
|||||||||||||calculateur.ccp||||||||||||
#include "calculateur.h"

calcul::calcul()
{
somme = a+b;
}
void calcul::resultat()
{
printf("le résultat est : %d\n",somme);
}
|||||||||||||||main.ccp|||||||||
#include <stdlib.h>
#include "calculateur.h"

void main()
{
calcul theCalcul;
theCalcul.resultat();
system("PAUSE");
return 0;
}

Tel quel ça fonctionne mais j'aimerai dans la methode «main» remplacer «theCalcul.resultat();» directement par «printf("le résultat est : %d\n",somme);»
Mais j'obtient un message comme quoi il ne reconnait pas la variable «somme» même si j'ai inclut le «header» calculateur.h. J'ai essayé un pointeur et new mais sans succès. En bout de ligne ce que j'aimerai accomplir c'est de passer la valeur d'une variable d'une class à un autre mais d'un fichier source à un autre.

Merci

cognac

Re : Les «class» pour débutant le 11/09/2002 18:59:16

cognac




-------------------------------
Réponse au message :
-------------------------------

Essaye ça :

printf("le résultat est : %d\n",theCalcul.somme);

A++
Géant Vert


-------------------------------
Réponse au message :
-------------------------------

Voici un petit programme:
|||||||||||||| constante.h||||||||||||
#ifndef CONSTANTES
#define CONSTANTES

#include <iostream>
#include <stdio.h>
using namespace std;

const int a=5;
const int b=10;

#endif
|||||||||||||||||calculateur.h||||||||||||
#ifndef CALCULATEUR
#define CALCULATEUR
#include "constantes.h"

class calcul
{
public: calcul();
~calcul(){}

void resultat();

int somme;

};
#endif
|||||||||||||calculateur.ccp||||||||||||
#include "calculateur.h"

calcul::calcul()
{
somme = a+b;
}
void calcul::resultat()
{
printf("le résultat est : %d\n",somme);
}
|||||||||||||||main.ccp|||||||||
#include <stdlib.h>
#include "calculateur.h"

void main()
{
calcul theCalcul;
theCalcul.resultat();
system("PAUSE");
return 0;
}

Tel quel ça fonctionne mais j'aimerai dans la methode «main» remplacer «theCalcul.resultat();» directement par «printf("le résultat est : %d\n",somme);»
Mais j'obtient un message comme quoi il ne reconnait pas la variable «somme» même si j'ai inclut le «header» calculateur.h. J'ai essayé un pointeur et new mais sans succès. En bout de ligne ce que j'aimerai accomplir c'est de passer la valeur d'une variable d'une class à un autre mais d'un fichier source à un autre.

Merci

cognac


Re : Les «class» pour débutant le 11/09/2002 19:00:33

cognac
Ça fonctionne...et comme c'est simple.

Merci beaucoup.

cognac

-------------------------------
Réponse au message :
-------------------------------

Essaye ça :

printf("le résultat est : %d\n",theCalcul.somme);

A++
Géant Vert


-------------------------------
Réponse au message :
-------------------------------

Voici un petit programme:
|||||||||||||| constante.h||||||||||||
#ifndef CONSTANTES
#define CONSTANTES

#include <iostream>
#include <stdio.h>
using namespace std;

const int a=5;
const int b=10;

#endif
|||||||||||||||||calculateur.h||||||||||||
#ifndef CALCULATEUR
#define CALCULATEUR
#include "constantes.h"

class calcul
{
public: calcul();
~calcul(){}

void resultat();

int somme;

};
#endif
|||||||||||||calculateur.ccp||||||||||||
#include "calculateur.h"

calcul::calcul()
{
somme = a+b;
}
void calcul::resultat()
{
printf("le résultat est : %d\n",somme);
}
|||||||||||||||main.ccp|||||||||
#include <stdlib.h>
#include "calculateur.h"

void main()
{
calcul theCalcul;
theCalcul.resultat();
system("PAUSE");
return 0;
}

Tel quel ça fonctionne mais j'aimerai dans la methode «main» remplacer «theCalcul.resultat();» directement par «printf("le résultat est : %d\n",somme);»
Mais j'obtient un message comme quoi il ne reconnait pas la variable «somme» même si j'ai inclut le «header» calculateur.h. J'ai essayé un pointeur et new mais sans succès. En bout de ligne ce que j'aimerai accomplir c'est de passer la valeur d'une variable d'une class à un autre mais d'un fichier source à un autre.

Merci

cognac


Re : Les «class» pour débutant le 11/09/2002 21:00:19

kjus
essaye d'utiliser cin et cout (c'est les équivalent C++ de printf et scanf en bien mieux)

le mieux serait de mettre somme en private, et de faire une fonction const :
get_somme();

Ainsi pour ta classe :
class calcul
{
public:
calcul();
~calcul(){}

void resultat();
int get_resultat() const; // const indique que la fonction ne modifie par les variables de la class

private :
int somme;

};

puis
int calcul::get_resultat() const {
return somme;
}

Re : Les «class» pour débutant le 12/09/2002 10:22:56

geantvert
Le top du top serait en fait de surcharger les opérateurs << et >> . Mais ça c'est une autre histoire ...

A++

Géant Vert


-------------------------------
Réponse au message :
-------------------------------

essaye d'utiliser cin et cout (c'est les équivalent C++ de printf et scanf en bien mieux)

le mieux serait de mettre somme en private, et de faire une fonction const :
get_somme();

Ainsi pour ta classe :
class calcul
{
public:
calcul();
~calcul(){}

void resultat();
int get_resultat() const; // const indique que la fonction ne modifie par les variables de la class

private :
int somme;

};

puis
int calcul::get_resultat() const {
return somme;
}

Re : Les «class» pour débutant le 12/09/2002 18:35:45

kjus
effectivement !
***raph***


-------------------------------
Réponse au message :
-------------------------------

Le top du top serait en fait de surcharger les opérateurs << et >> . Mais ça c'est une autre histoire ...

A++

Géant Vert


-------------------------------
Réponse au message :
-------------------------------

essaye d'utiliser cin et cout (c'est les équivalent C++ de printf et scanf en bien mieux)

le mieux serait de mettre somme en private, et de faire une fonction const :
get_somme();

Ainsi pour ta classe :
class calcul
{
public:
calcul();
~calcul(){}

void resultat();
int get_resultat() const; // const indique que la fonction ne modifie par les variables de la class

private :
int somme;

};

puis
int calcul::get_resultat() const {
return somme;
}



Classé sous : class, include, somme, calcul, calculateur

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS