Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

initialiser une structure

3 réponses
Avatar
police74
Bonjour,

je debute en C, et j aurais voulu savoir comment initialiser des instances de classes (ou de structures)ayant des parametres d initialisation dans une autre structure ?

exemple

struct AAA
{ // constructeur
AAA(int n) {a=1 ; b=n ; }

int a,b;
};

struct BBB
{ //constructeur
BBB() ;

struct AAA essai1(7);
struct AAA essai2(5);
};

evidemment c est un exemple tres simple mais ça ne marche pas !!!!!!!!
essai1 et essai2 sont rejeté par le compilateur !!!

3 réponses

Avatar
Marc Boyer
Le 31-03-2015, police74 a écrit :
Bonjour,

je debute en C, et j aurais voulu savoir comment initialiser des instances de
classes (ou de structures)ayant des parametres d initialisation dans une autre
structure ?



Heuh.. Tu veux faire du C ou du C++ ? Ce sont deux langages qui se ressemblent,
mais différents. Je suppose que tu parles de C++.
struct AAA
{ // constructeur
AAA(int n) {a=1 ; b=n ; }
int a,b;
};

struct BBB
{ //constructeur
BBB() ;
struct AAA essai1(7);
struct AAA essai2(5);
};

evidemment c est un exemple tres simple mais ça ne marche pas !!!!!!!!



struct A {
int i;
int j;
A(int n): i(n), j(n) {};
};

struct B {
A a;
B(int n): a(n*2) {};
};

Voilà les initialisations dans les constructeurs.

Marc Boyer


--
"On est tout surpris, un beau soir, de trouver la satiété où
l'on cherchait le bonheur", [Beaumarchais, Mar. de Figaro, V, 7]
Avatar
Benoit Izac
Bonjour,

le 01/04/2015 à 01:39, police a écrit dans le message
:

struct AAA
{ // constructeur
AAA(int n) {a=1 ; b=n ; }

int a,b;
};

struct BBB
{ //constructeur
BBB() ;

struct AAA essai1(7);
struct AAA essai2(5);
};



En C++ moderne, tu peux faire :

#include <iostream>

struct AAA {
AAA(int n) : b(n) {}
int a = 1, b;
};

struct BBB {
BBB() {}
struct AAA essai1 = 7;
struct AAA essai2 = 5;
};

int main()
{
BBB b;
std::cout << b.essai1.a << ", " << b.essai1.b << std::endl;
std::cout << b.essai2.a << ", " << b.essai2.b << std::endl;
}

--
Benoit Izac
Avatar
police74
Le mercredi 01 Avril 2015 à 01:39 par police74 :
Bonjour,

je debute en C, et j aurais voulu savoir comment initialiser des instances de
classes (ou de structures)ayant des parametres d initialisation dans une autre
structure ?

exemple

struct AAA
{ // constructeur
AAA(int n) {a=1 ; b=n ; }

int a,b;
};

struct BBB
{ //constructeur
BBB() ;

struct AAA essai1(7);
struct AAA essai2(5);
};

evidemment c est un exemple tres simple mais ça ne marche pas !!!!!!!!
essai1 et essai2 sont rejeté par le compilateur !!!


ok merci :)