Typedefs de Visual C++ dans le Concepteur de classesVisual C++ typedefs in Class Designer

Les instructions Typedef créent une ou plusieurs couches d’indirection entre un nom et son type sous-jacent.Typedef statements create one or more layers of indirection between a name and its underlying type. Le Concepteur de classes prend en charge les types typedef C++ qui sont déclarés avec le mot clé typedef, par exemple :Class Designer supports C++ typedef types, which are declared with the keyword typedef, for example:

typedef class coord
{
   void P(x,y);
   unsigned x;
   unsigned y;
} COORD;

Vous pouvez ensuite utiliser ce type pour déclarer une instance :You can then use this type to declare an instance:

COORD OriginPoint;

Formes de classe et de structClass and struct shapes

Dans le Concepteur de classes, un typedef C++ a la forme du type spécifié dans le typedef.In Class Designer, a C++ typedef has the shape of the type specified in the typedef. Si la source déclare typedef class, la forme a des angles arrondis et l’étiquette Class.If the source declares typedef class, the shape has rounded corners and the label Class. Pour typedef struct, la forme a des angles carrés et l’étiquette Struct.For typedef struct, the shape has square corners and the label Struct.

Les classes et les structures peuvent avoir des typedefs imbriqués déclarés à l’intérieur.Classes and structures can have nested typedefs declared within them. Dans le Concepteur de classes, les formes de classe et de structure peuvent afficher des déclarations typedef imbriquées comme formes imbriquées.In Class Designer, class and structure shapes can show nested typedef declarations as nested shapes.

Les formes typedef prennent en charge les commandes Afficher en tant qu’association et Afficher en tant qu’association de collection dans le menu contextuel.Typedef shapes support the Show as Association and Show as Collection Association commands on the context menu.

Exemple de typedef de classeClass typedef example

class B {};
typedef B MyB;

Typedef de classe C++ dans le Concepteur de classes

Exemple de typedef de structStruct typedef example

typedef struct mystructtag
{
    int   i;
    double f;
} mystruct;

Typedef de struct C++ dans le Concepteur de classes

Typedefs sans nomUnnamed typedefs

Bien que vous puissiez déclarer un typedef sans nom, le Concepteur de classes n’utilise pas le nom de la balise que vous spécifiez.Although you can declare a typedef without a name, Class Designer doesn't use the tag name that you specify. Le Concepteur de classes utilise le nom généré par l’affichage de classes.Class Designer uses the name that Class View generates. Par exemple, la déclaration suivante est valide, mais elle apparaît dans Affichage de classes et le Concepteur de classes comme objet nommé __unnamed :For example, the following declaration is valid, but it appears in Class View and Class Designer as an object named __unnamed:

typedef class coord
{
   void P(x,y);
   unsigned x;
   unsigned y;
};

Note

Le Concepteur de classes n’affiche pas les typedefs dont le type source est un pointeur de fonction.Class Designer does not display typedefs whose source type is a function pointer.

Voir aussiSee also