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