Compartir a través de


Definiciones de tipos de Visual C++ en el Diseñador de clases

Actualización: noviembre 2007

Las instrucciones de definiciones de tipos crean una o más capas de direccionamiento indirecto entre un nombre y su tipo subyacente. El Diseñador de clases admite los tipos de la definición de tipos de C++, que se declaran con la palabra clave typedef; por ejemplo:

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

Puede usar después este tipo para declarar una instancia:

COORD OriginPoint;

Aunque se puede declarar una definición de tipos anónima, el Diseñador de clases no usará el nombre de etiqueta especificado; usará el nombre generado por la Vista de clases. Por ejemplo, la declaración siguiente es válida, pero aparece en la Vista de clases y en el Diseñador de clases como un objeto denominado __unnamed:

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

Para obtener más información sobre cómo usar el tipo typedef, vea typedef Specifier.

Una forma de definición de tipos de C++ tiene la forma del tipo especificada en la definición de tipos. Por ejemplo, si el origen declara typedef class, la forma tiene esquinas redondeadas y la etiqueta Clase. Para typedef struct, la forma tiene esquinas cuadradas y la etiqueta Estructura.

Las clases y estructuras pueden haber anidado definiciones de tipos declaradas en ellas; por consiguiente, las formas clase y estructura pueden mostrar las definiciones de tipos anidadas como formas anidadas.

Las formas de definición de tipos admite los comandos Mostrar como asociación y Mostrar como asociación de colecciones en el menú contextual.

A continuación, se muestran algunos ejemplos de definición de tipos que admite el Diseñador de clases:

Elemento de código

Vista Diseñador de clases

typedef type name

nombre: tipo

definición de tipos

Dibuja una línea de asociación que conecta con el tipo nombre, si es posible.

typedef void (*func)(int)

func: void (*)(int)

definición de tipos

Definición de tipos para punteros a función. No se dibuja ninguna línea de asociación.

El Diseñador de clases no muestra una definición de tipos si su tipo de origen es un puntero a función.

typedef int MyInt;
class A {
   MyInt I;
};

MyInt: int

definición de tipos

A

Clase

Dibuja una línea de asociación que señala desde la forma del tipo de origen hasta la forma del tipo de destino.

Class B {};

typedef B MyB;

B

Clase

MyB : B

definición de tipos

Hacer clic con el botón secundario en una forma de definición de tipos y hacer clic en Mostrar como asociación, muestra la definición de tipos o clase y un Alias de línea que une las dos formas (similar a una línea de asociación).

typedef B MyB;

typedef MyB A;

MyBar : Bar

definición de tipos

Como anteriormente.

Class B {};
typedef B MyB;
class A {
   MyB B;
};

B

Clase

MyB : B

definición de tipos

A

Clase

MyB es una forma de definición de tipos anidada.

#include <vector>

...

using namespace std;

...

typedef vector<int> MyIntVect;

vector<T>Clase

MyIntVect : vector<int>

definición de tipos

class B {};

typedef B MyB;

class A : MyB {};

MyB : B

definición de tipos

->B

B

A

Clase

- > MyB

El Diseñador de clases no permite mostrar este tipo de relación usando un comando del menú contextual.

#include <vector>

Typedef MyIntVect std::vector<int>;

Class MyVect : MyIntVect {};

std::vector<T>

Clase

MyIntVect : std::vector<int>

definición de tipos

MyVect

Clase

- > MyIntVect

Vea también

Conceptos

Trabajar con código de Visual C++ en el Diseñador de clases

Referencia

typedef Specifier