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

C++ Discussion :

class en C++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 71
    Par défaut class en C++
    Bonjour,
    je dois calculer Formule mathématique
    Formule mathématique, Formule mathématique et Formule mathématique sont données.
    et ce calcul doit être fait en utilisant une classe. Voilà ce que j'ai fait:
    fichier.hh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #ifndef DEF_VECTEUR
    #define DEF_VECTOR
    class vecteur
    {
    public: 
    vector<int> tableau(N);
    vecteur(int N=1); //constructeur par défaut
    vecteur(const vecteur & C); //constructeur de copie;
    ~ vecteur();
    private:
    int N;
    };
    double operator=(object const & C1, objet const &C2, objet const &C3);
    double operator * (object const & C1, objet const &C2, objet const &C3);
    double operator - (object const & C1, objet const &C2, objet const &C3);
    double operator + (object const & C1, objet const &C2, objet const &C3);
    fichier.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include "vecteur.h"
    #include <vector>
    vecteur::vecteur:N=99//implémentation du constructeur par défaut
    double main ()
    {
    do (j=1;N;j++)
    vecteur C1(j), C2(j-1), C3(j+1)
    C=(1-2 \lambda 1 - \lambda 2)* C1+\lambda1 *(C2+C3)+\lambda2 * C2;
    }
    return 0;
    }
    est ce que jusqu'ici c'est bon? et comment utiliser un fichier .dat où l'ont met toutes les constates?
    Merci beaucoup.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 470
    Par défaut
    Je ne vois pas trop l'utilité d'une classe dans ce contexte.
    Votre classe est bourrée de défaut, mais pour un début, commencez par essayer de la compiler.
    Le compilateur vous indiquera ce qui n'est pas exacte d'un point de vue syntaxique.
    - Le #define de fin de l'include-guard
    - L'implémentation des méthodes de la classe, et des opérateurs dans un fichier cpp
    etc...

    Si c'est des constantes qui ne changeront pas de compilation en compilation, la façon la plus simple est de les inclure sous forme d'un .h.

  3. #3
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 71
    Par défaut
    Dites moi svp, comment créer le constructeur par défaut et le constructeur de copie dans la classe vecteur?
    Merci pour votre aide.

  4. #4
    Membre émérite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2013
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par défaut
    Veuillez faire quelques recherches avant de poser une question. Voici le premier lien que donne la recherche google "developpez.com constructeurs c++" : http://cpp.developpez.com/faq/cpp/?p...-constructeurs

  5. #5
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 71
    Par défaut
    Voici mon fichier .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #include <iostream>
    #include <ostream>
    #include <cassert>
    typedef double R;//définition du corps
    using namespace std;
    class vecteur
    {
    private: //les attributs
    int N; //taile du vecteur
    R *v;//la variale v qui est un pointeur, stoque les N composantes du vecteur
    public:
    vecteur(){cout<<"pas de constructeur par défaut"<<endl; }//contstructeur par défaut
    vecteur(const vecteur& C) :N(C.N), v(new R[C.N])//constructeur par copie
      {operator = (C);}
     vecteur (int i) : N(i), v(new R[i]) {assert (v);}//constructeur
     vecteur& operator=(vecteur &C) {assert (N==C.N);
    				 for(int i=0;i<N;i++) v[i]=C.v[i];
    				 return *this;}
     ~vecteur(){}//destructeur 
     };
    et voici mon fichier .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <iostream>
    #include <cassert>
    #include "vecteur.h"
    using namespace std;
    int main ()
    {
      int N=10;//implémentatiion du constructeur par défaut
      vecteur C() ;
     
    return 0;
    }
    et il me met l'erreur suivante:


    vecteur.h:14:17: error: no matching function for call to ‘vecteur::operator=(const vecteur&)’
    {operator = (C);}
    ^
    vecteur.h:14:17: note: candidate is:
    vecteur.h:16:11: note: vecteur& vecteur::operator=(vecteur&)
    vecteur& operator=(vecteur &C) {assert (N==C.N);
    ^
    vecteur.h:16:11: note: no known conversion for argument 1 from ‘const vecteur’ to ‘vecteur&’

    Comment corriger? svp

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 470
    Par défaut
    Nous avons compris que vous étiez nouveaux, on va donc être très indulgent avec votre code, mais cela ne vous dispense pas de correctement le mettre en forme, avec la balise \[CODE\], SVP.
    Et mes premières remarques, on s'en cogne ???

    Comment corriger? svp
    En lisant le premier message d'erreur et en comprenant ce sue le compilateur vous reproche.

    Moi non plus, je comprends absolument pas ce que cela veux dire.

    Je pense que vous devriez très sérieusement relire les bases du C++.

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. Réponses: 31
    Dernier message: 30/03/2006, 16h57
  3. Élaboration de classe
    Par il_a_ri dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 16/01/2003, 14h22
  4. Variable d'une Classe Ancêtre
    Par Génie dans le forum Langage
    Réponses: 3
    Dernier message: 18/09/2002, 19h24
  5. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/07/2002, 17h21

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