Compartilhar via


Typedefs de Visual C++ no Class Designer

Instruções TypeDef criam uma ou mais camadas de indireção entre um nome e o seu tipo subjacente. O Class Designer oferece suporte a tipos de typedef de C++, que são declarados com a palavra-chave typedef, por exemplo:

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

Em seguida, você pode usar esse tipo para declarar uma instância:

COORD OriginPoint;

Embora você possa declarar um typedef sem nome, o Class Designer não usará o nome da marca que você especificar; ele usará o nome que gera de modo de exibição de classe. Por exemplo, a declaração a seguir é válida, mas ele aparece no modo de exibição de classe e o Class Designer como um objeto chamado __unnamed:

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

Para obter mais informações sobre como usar o typedef Digite, consulte typedef Specifier.

Uma forma de typedef C++ tem a forma do tipo especificado na typedef. Por exemplo, se a fonte declara typedef class, a forma tem arredondado cantos e o rótulo de classe. Para typedef struct, a forma com cantos quadrados e o rótulo Struct.

Classes e estruturas podem ter aninhado typedefs declarados dentro deles; Portanto, as formas de classe e a estrutura podem mostrar typedef aninhados declarações como formas aninhadas.

TypeDef formas de suporte a Mostrar como a associação e Mostrar como a associação da coleção comandos no menu de contexto.

Seguem alguns exemplos de tipos de typdef o Class Designer oferece suporte:

Elemento de código

O modo de exibição de Designer de classe

typedef type name

name : tipo

TypeDef

Desenha uma linha de associação, conectando-se digitar nome, se possível.

typedef void (*func)(int)

func: void (*)(int)

TypeDef

TypeDef para ponteiros de função. Nenhuma linha de associação é desenhada.

Class Designer não exibe um typedef se o seu tipo de origem é um ponteiro de função.

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

MyInt: int

TypeDef

A

Class

Desenha uma linha de associação apontando-se da forma de tipo de fonte para a forma do tipo de destino.

Class B {};

typedef B MyB;

B

Class

MyB : B

TypeDef

Clicando com o botão direito na forma uma typedef e clicando em Mostrar como a associação exibe o typedef ou a classe e um Alias do linha associar as duas formas (semelhantes a uma linha de associação).

typedef B MyB;

typedef MyB A;

MyBar : Bar

TypeDef

Mesmo que acima.

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

B

Class

MyB : B

TypeDef

A

Class

MyBé uma forma de typedef aninhados.

#include <vector>

...

using namespace std;

...

typedef vector<int> MyIntVect;

vector<T>Class

MyIntVect : vector<int>

TypeDef

class B {};

typedef B MyB;

class A : MyB {};

MyB : B

TypeDef

-> B

B

A

Class

-> MyB

Class Designer não oferece suporte a esse tipo de relação de exibição usando um comando de menu de contexto.

#include <vector>

Typedef MyIntVect std::vector<int>;

Class MyVect : MyIntVect {};

std::vector<T>

Class

MyIntVect : std::vector<int>

TypeDef

MyVect

Class

-> MyIntVect

Consulte também

Referência

typedef Specifier

Conceitos

Trabalhando com o código do Visual C++ (Designer de classe)