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. |
|
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. |
|
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