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 :

C++ fonction renvoye tableau d 'objets


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut C++ fonction renvoye tableau d 'objets
    salut a tous

    Je débute en C++. mais j'ai fait du java. donc j'ai quelques idées sur la programmation objet. mon programme est simple vu ce que j'ai déja fait en java. La syntaxe est un autre probleme

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    class Calculation{
     
    public:
    	int N;
    	float V;
    	float R;
     
    	void Set_N_V_R();
    	void Print_N_V_R();
    	Panel Panel_i(int,float,int);
    	Panel *Panels(int,float);
    };
     
    void Calculation::Set_N_V_R(){
    	printf("input N \n");
    	scanf_s("%d",&N);
    	printf("input V \n");
    	scanf_s("%f",&V);
    	printf("input R \n");
    	scanf_s("%f",&R);
    }
     
     
    void Calculation::Print_N_V_R(){
    	printf("N=%d \n",N);
    	printf("V=%10.4f \n",V);
    	printf("R=%10.4f \n",R);
    }
     
    */ cette fonction marche
    Panel Calculation::Panel_i(int N,float R,int i){
    	Panel Pan(N,R,i);
    	return Pan;
    }
     
    /*
    ici c'est le flou artistique je cherche de l'aide pour ecrire cette
    fonction qui a but de renvoyer un tableau de panel de taille n ou l elment i du tableau doit etre Panel_i(n,r,i)
    */
    Panel *Calculation::Panels(int N,float R){
    	Panel *Pan_Arr[N];
            ...........
    	return Pan_Arr;
    }
    j'ai deja ecrit une autre classe panel.

    Merci d'avance
    J'espere que c'est assez clair

  2. #2
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut update du code
    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
    22
    23
    24
    25
    26
    27
    class Calculation{
     
    public:
    	int N;
    	float V;
    	float R;
     
    	void Set_N_V_R();
    	void Print_N_V_R();
    	Panel Panel_i(int,float,int);
    	Panel *Panels(int,float);
    };
     
     
     
    Panel Calculation::Panel_i(int N,float R,int i){
    	Panel Pan(N,R,i);
    	return Pan;
    }
     
    Panel *Calculation::Panels(int N,float R){
    	Panel Pan_Arr[N];
    	for (i=0;i<N;++i){
    		Pan_Arr[i]=Panel_i(N,R,i+1)
    	}
    	return Pan_Arr;
    }

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 113
    Par défaut
    Bonsoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    /*
    ici c'est le flou artistique je cherche de l'aide pour ecrire cette
    fonction qui a but de renvoyer un tableau de panel de taille n ou l elment i du tableau doit etre Panel_i(n,r,i)
    */
    Panel**Calculation::Panels(int N,float R){
    	Panel **Pan_Arr = new Panel*[N];
    	for (int i=0; i<N; i++) {
    		Pan_Arr[i] = new Panel(N, R, i);
    	}
    	return Pan_Arr;
    }
    remarque: j'ai change le type de retour en **.

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 113
    Par défaut
    Attention : tu retournes une variable locale, ton tableau est alloue sur la pile d'execution !

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    merci ca compile !!
    toute fois que représente les étoiles??

  6. #6
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Un pointeur de pointeur.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  7. #7
    Membre éprouvé
    Inscrit en
    Août 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 113
    Par défaut
    euh, je crois qu'il faut que tu retournes a la faq (*), sur les pointeurs et la gestion de memoire.
    voir aussi la faq C (sans plusplus).

    vite dit :
    Panel : objet panel
    Panel* : pointeur sur objet panel
    Panel** : pointeur sur pointeur sur objet panel.
    Panel[] : tableau de panel, alloue sur la pile, equivalent en type de Panel* (sauf que Panel* peut etre alloue dans le tas - enfin, c'est vite dit et imprecis).

    Alex
    (*) : merci l'auberge espagnole ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] Fonction renvoyant un tableau
    Par glycerine dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 26/03/2013, 22h27
  2. [XL-2007] Fonction renvoyant tableau
    Par crimetime dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/07/2011, 21h46
  3. Fonction renvoyant un tableau :
    Par spyk dans le forum Delphi
    Réponses: 3
    Dernier message: 01/09/2006, 15h32
  4. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 15h33
  5. fonction renvoyant un tableau en argument
    Par Jones dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2002, 18h20

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