begin process at 2012 05 28 21:46:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Comment retourner un objet ?


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

Comment retourner un objet ?

jeudi 13 juillet 2006 à 17:34:25 | Comment retourner un objet ?

hentox

Bonjour amis codeurs,

Je viens du monde Java et je tente de trouver mes repères. Je voudrais savoir si il est possible de retourner un objet. Exemple:

J'ai construis une classe "nbComplexe". Tout ce passe pour le mien jusqu'au moment ou je veux additioner deux nombres complexes. En java, ça donne ça :

public NbComplexe addition (NbComplexe nc){
        double re = this.reel + nc.reel;
        double im = this.imajine + nc.imajine;
       
        NbComplexe n = new NbComplexe (re, im);
       
        return n;
    }


Voila mon fichier nbComplexe.h

class nbComplexe {
   
    private:
        double re;
        double im;
   
    public:
        nbComplexe(double re, double im);
       
        double GetRe();
       
        void SetRe(double re);
       
        double GetIm();
       
        void SetIm(double im);
       
        //double * addition(nbComplexe * n1, nbComplexe * n2);
       
        nbComplexe addition(nbComplexe * n1, nbComplexe * n2);
       
        void affiche();


};   


Et le fichier nbComplexe.cpp
 

nbComplexe::nbComplexe(double re, double im){
    this->re = re;
    this->im = im;
}
       
double nbComplexe::GetRe(){
    return this->re;
}
       
void nbComplexe::SetRe(double re){
    this->re = re;
}
       
double nbComplexe::GetIm(){
    return this->im;
}
       
void nbComplexe::SetIm(double im){
    this->im = im;
}

/* double * nbComplexe::addition(nbComplexe * n1, nbComplexe * n2){
    double * tab = new double[2+1];
    tab[0] = n1->GetRe() + n2->GetRe();
    tab[1] = n1->GetIm() + n2->GetIm();
    return tab;
}*/

nbComplexe nbComplexe::addition(nbComplexe * n1, nbComplexe * n2){
    double re = n1->GetRe() + n2->GetRe();
    double im = n1->GetIm() + n2->GetIm();
    nbComplexe * n3 = new nbComplexe(re, im);
    return * n3;
}

       
void nbComplexe::affiche(){
    cout << this->GetRe() << " +j "<< this->GetIm() << endl;
}


P.S. : je n'ai volontairement pas mis les differents #include mais ils sont bien presents

jeudi 13 juillet 2006 à 19:48:54 | Re : Comment retourner un objet ?

steve_clamage

Il manque des const et l'usage de références est conseillé plutot que de mettre l'adresse dans un pointeur. Pour une addition si aucune des deux opérande n'est modifiable tu dois retourner une copie. La bibliotheque standard fournie std::complex qui est tres simple à utiliser grace a la surcharge des opérateurs arithmetiques.
vendredi 14 juillet 2006 à 16:28:48 | Re : Comment retourner un objet ?

hentox

Je te remercie pour tes indications. Je vais essayer et je te tiens au courant.
samedi 15 juillet 2006 à 12:23:56 | Re : Comment retourner un objet ?

MuPuF

Si je ne me trompe, c'est un exercisse du livre "Le langage c++" de Bjarne Stroustrup

    nbComplexe * n3 = new nbComplexe(re, im);
    return * n3;
---> Pourquoi passer par un pointeur pour ensuite retourner du statique ?

Enfin quoi qu'il arrive c'est tout a fait possible de retourner un objet avec return.

Bonne journée


Cette discussion est classée dans : double, re, im, n1, nbcomplexe


Répondre à ce message

Sujets en rapport avec ce message

template [ par amine390 ] salutje suis un debutant et je sais pas ou l'erreur sur ma class complexevoila la class complexe.h et .cpp#ifndef complexe_h#define complexe_htemplate Meca classique: Etude d' oscillation. [ par sidam ] Voila le probleme, je dois programmer une classe MonSystem décrivant le système que je veux faire évoluer.Voila le systeme:J' ai un point M =1kg soumi objet "double" non reconnu [ par totoscill ] Bonjour,J'ai un  problème lors de la compilation de mon programme. Une fonction déclarer "double" est déclaré par le compilateur void.déclaration de m Prigrammation et devellopement ! [ par kellyse ] Bonjour à tous!Actuellement j'ai fais un devoir sur Les déterminants d'une matrice , mais j'ai eu un problème sur mon compilateur (il me dit qui y'a u Re-Remplissage d'un tableau [ par VirusCrazy ] Bonjour,J'ai un leger souci avec les tableaux...Je déclare un tableau à 2 dimensions:Splash[12][12] = { //mes données };J'utilise ce tableau puis je v lsb d'un double [ par enrageur ] J'aimerais connaitre le LSB d'une variable double. Si j'ai bien compris la maniere dont est codé un double, le LSB n'est pas le meme si le nombre est problème tableau [ par totoscill ] Bonjour,j'utilise un tableau pour stocker mes données mesurés. Le problème est que les valeurs stocké sont totalement différentes des valeurs données. Empécher double exécution [ par aurelien2723 ] Salut!Je fais une petite GUI.J'ai donc un .exe, mais j'aimerais qu'il soit impossible de l'exécuter deux fois.Est-ce possible?Je pensais par exemple à Faire en sorte qu'un programme tourne tout le temps ? [ par supergrey ] Bonjour, voila je vous demande votre avis pour faire ceci: j'ai besoin que mon programme démarre automatiquement avec windows et ne puisse pas etre ar triangle de penrose et classe [ par ichigoZ710 ] Bonjour à toutes et à tous,j'aurais aimé savoir comment commencer le début de mon code en rapport avec les triangles de penrose (un triangle de penros


Nos sponsors


Sondage...

Comparez les prix

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 : 0,312 sec (4)

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