Question pour les pros du C++
Boomaz
2021-03-02 19:05:53
Est ce qu'il est possible de faire une instanciation simple d'un objet membre dont le constructeur doit recevoir des paramètres.
Je reformule :
Ma classe A contient un objet membre de classe B
Dans mon Classe A.h, l'objet de classe B est déclaré comme suit :
ClasseB classeB(paramètres);
Quelle est la syntaxe (si c'est possible) pour instancier mon Objet B, puisque je ne peux pas utiliser : objetB = new ObjetB , vu que je veux passer par une instanciation simple et non par une instanciation dynamique ?
Désolé si j'ai dis des énormités je débute ce langage.
Boomaz
2021-03-02 19:06:56
uphttps://image.noelshack.com/fichiers/2020/43/5/1603447274-jesus-fondu-altieri.png
Hothosume
2021-03-02 19:07:27
Tu copie la classe A que tu colle dans la Classe B, tu supprime la classe A.H et la remplace par New ObjetB, puis tu instancie en dynamique la Classe B, pas besoin de l'instanciation simple c'est surcoter.
Derien.
Boomaz
2021-03-02 19:10:31
Le 02 mars 2021 à 19:07:27 Hothosume a écrit :
Tu copie la classe A que tu colle dans la Classe B, tu supprime la classe A.H et la remplace par New ObjetB, puis tu instancie en dynamique la Classe B, pas besoin de l'instanciation simple c'est surcoter.
Derien.
D'accord je vois merci, je dois en conclure que l'idée de base n'est pas réalisable
MarinaDevyatava
2021-03-02 19:12:22
Si tu veux mettre un objet comme attribut d'un autre objet, tu mets un pointeur et c'est tout.
Boomaz
2021-03-02 19:13:07
Le 02 mars 2021 à 19:12:22 MarinaDevyatava a écrit :
Si tu veux mettre un objet comme attribut d'un autre objet, tu mets un pointeur et c'est tout.
très bien merci, c'était par pure curiosité
Jency14
2021-03-11 16:20:00
class B
{
public:
int value{40};
};
class A
{
public:
B b;
};
int main(int , char *[])
{
A a;
a.b.value += 2;
return a.b.value != 42;
}
Aucun problème pour avoir un objet b
d'une classe B
attribut d'une classe A