Je dois avoir plusieurs instances d'une union en tant que variables de classe, alors comment puis-je créer une instance d'union dans le tas? merciComment créer dynamiquement une instance d'union en C++?
Répondre
La même que la création d'un autre objet:
union MyUnion
{
unsigned char charValue[5];
unsigned int intValue;
};
MyUnion *myUnion = new MyUnion;
Votre syndicat est maintenant sur le tas. Notez qu'une union est la taille de son plus grand membre de données.
Utilisez l'opérateur new
.
Identique à une structure :) Vous pouvez utiliser malloc()
et le faire en mode C, ou new
pour la méthode C++. Le secret est que les structures, les unions et les classes sont liées; une structure est juste une classe (généralement) sans méthodes. Il y a plus de précision dans les commentaires suivants, si vous vous en souciez.
Une structure en C++ peut avoir des méthodes. Une structure et une classe sont très similaires, sauf qu'une structure a des membres/fonctions publics par défaut alors qu'une classe a des membres privés par défaut. –
Non, vous pouvez avoir des méthodes dans les structures. Vous pouvez même dériver des structures des classes et vice-versa. A propos de la seule différence entre struct et class est que l'accès par défaut pour une structure est public, alors qu'il est privé pour une classe. –
En C++, une structure peut avoir des méthodes. La principale différence entre une structure et une classe est que l'accès par défaut pour une classe est privé alors que l'accès par défaut pour une structure est public. –
Mon C++ est un peu rouillé, mais:
my_union_type *my_union = new my_union_type;
...
delete my_union;
Je ne sais pas où vous voulez aller avec cela. Une union est un type de données ou de classe défini par l'utilisateur qui, à un moment donné, ne contient qu'un seul objet de sa liste de membres. Ainsi, à partir de cela, si vous avez un syndicat défini comme ceci:
union DataType
{
char ch;
integer i;
float f;
double d;
};
Vous pouvez ensuite utiliser DataType
comme un type pour définir les membres dans une classe ou un type pour définir des variables sur la pile, tout comme les types réguliers , struct ou classes que vous définissez.
Utilisez l'opérateur new
:
#include <iostream>
union u {
int a;
char b;
float c;
};
class c {
public:
c() { u1 = new u; u2 = new u; u3 = new u; }
~c() { delete u1; delete u2; delete u3; }
u *u1;
u *u2;
u *u3;
};
int main()
{
c *p = new c;
p->u1->a = 1;
p->u2->b = '0' + 2;
p->u3->c = 3.3;
std::cout << p->u1->a << '\n'
<< p->u2->b << '\n'
<< p->u3->c << std::endl;
delete c;
return 0;
}
- 1. comment créer dynamiquement une instance d'une classe en python?
- 2. Dynamiquement Créer instance Méthode en PHP
- 3. Comment puis-je créer dynamiquement une instance d'une classe?
- 4. Comment créer une instance à partir d'une chaîne en C#?
- 5. Comment créer dynamiquement un DataGridView en C#?
- 6. Créer une instance de classe COM dynamiquement dans .NET
- 7. Comment créer une entité dynamiquement en Objective-C?
- 8. Que demander de créer dynamiquement une instance de contrôle utilisateur?
- 9. Comment créer dynamiquement et lire des structures en C?
- 10. C++ syntaxe de créer une instance
- 11. Comment créer une instance d'une classe PHP existante en toute sécurité et dynamiquement?
- 12. Créer dynamiquement un tableau en C#
- 13. comment créer une instance pour un type générique dans C#
- 14. Comment créer une nouvelle instance d'une classe avec un certain constructeur dynamiquement
- 15. créer Dynamiquement fil dans C++
- 16. Comment créer une instance java.util.Calendar à l'époque?
- 17. comment créer rich: dropDownMenu en utilisant dynamiquement c: foreach?
- 18. Comment créer une Listbox dynamiquement wpf
- 19. Comment créer dynamiquement une expression Linq?
- 20. Comment créer une instance d'une page
- 21. Comment créer une instance de l'interface ICLRAppDomainResourceMonitor?
- 22. Créer une instance Zend_Navigation_Page_Mvc d'un Zend_Controller_Request
- 23. C# créer une instance d'un objet de chaîne
- 24. Comment créer une méthode générique et Créer instance de type
- 25. Comment créer une image dynamiquement sur AppEngine
- 26. Erreur "Créer une instance concrète!"
- 27. C#: Comment accéder à une instance d'objet?
- 28. Créer une nouvelle colonne dynamiquement
- 29. Créer dynamiquement UserControl (WPF)
- 30. Créer une instance de classe objective-c par son nom?
variables d'instance ou variables de classe? Syndicats ou pointeurs syndicaux? –