Struct constante

zarkin Messages postés 6 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 18 mai 2004 - 8 mars 2003 à 00:20
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 - 8 mars 2003 à 16:54
Bonjour,

Je suis ss Dev-C++.
Peut-on définir une structure constante en l'initialisant à partir d'une autre structure constante ?

ex:
const type1 MaConstante1 = {...,...,...};
const type2 MaConstante2 = {...,...,MaConstante1};

Ceci ne marche pas, par contre je peux compiler en ommettant MaConstante1 :
const type2 MaConstante2 = {...,...};

Mais ensuite je ne peux pas initialiser le reste de MaConstante2!

merci de votre aide!
A voir également:

4 réponses

cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
8 mars 2003 à 11:13
je te conseille plutôt de coder vraiment en C++
rajoute un constructeur à ta struct. Il doit accepter les arguments nécessaires pour initialiser les membres
(facultatif) change le mot struct en class ...

struct s_conteneur
{
struct_arete a1;
struct_arete a2;
s_conteneur(){}
s_conteneur(struct_arete a1, struct_arete a2){this->a1=a1; this->a2=a2;}
} conteneur;

ensuite il est simple de faire
const struct_arete ARRETE1 = {1,2,3};
const struct_arete ARRETE2 = {4,5,6};
const s_conteneur CUBE(ARRETE1, ARRETE2);
0
zarkin Messages postés 6 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 18 mai 2004
8 mars 2003 à 15:16
Merci vieuxLion ... (je ne connaissais pas les constructeurs) mais j'ai tjs un probleme!

De cette maniere j'initialise bien les 2 structures (ARRETE1 et ARRETE2 dans ton exemple) mais pas le reste. Car dans s_conteneur tu n'as mis QUE des structures et moi je veux mettre aussi des int, char, voire un tableau de struct. Comment initialiser et referencer tout ca ?

Merci de votre aide
0
zarkin Messages postés 6 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 18 mai 2004
8 mars 2003 à 16:04
Je viens de remarquer qu'on pouvait mélanger tous ces types sans problemes dans une struct en C++ (en C ca ne marche pas)
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
8 mars 2003 à 16:54
Tu est donc dépanné je crois !
complément d'info pour être sûr :

Un constructeur accepte des paramètres de tous types
struct, int , etc...

Exemple :
class Segment
{
private:
int dx, dy;
Point ptDepart;
public:
Segment(Point p, int largeur, int hauteur)
{ptDepart=p; dx=largeur; dy=longueur;}
};
il s'utilise alors comme ça :
Point pt(0,0);
Segment s(pt, 1,2);
0
Rejoignez-nous