initialiser une structure
Le
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 !!!
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 !!!
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 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]
le 01/04/2015 à 01:39, police a écrit dans le message
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
ok merci :)