Definições de tipo C++ Visual no Class Designer
Instruções typedef criam uma ou mais camadas de indireção entre um nome e 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 Especificador de TypeDef.
Uma forma de typedef C++ tem a forma do tipo especificado na typedef.Por exemplo, se a fonte declara typedef class, a forma arredondadas cantos e o rótulo de classe.Para typedef struct, a forma tem cantos quadrados e o rótulo Struct.
Classes e estruturas podem ter definições de tipo aninhadas declaradas dentro deles; Portanto, as formas de classe e a estrutura podem mostrar declarações typedef aninhadas como formas aninhadas.
TypeDef formas de suporte a Mostrar como associação de e Mostrar como a associação da coleção comandos no menu de contexto.
Seguem alguns exemplos de tipos de typdef que o Class Designer oferece suporte:
Elemento de código |
O modo de exibição de Designer de classe |
---|---|
typedef type name |
name : type 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. O Class Designer não exibe um typedef se o seu tipo de origem é um ponteiro de função. |
|
MyInt: int TypeDef A Classe Desenha uma linha de associação apontando da forma de tipo de fonte para a forma do tipo de destino. |
Class B {}; typedef B MyB; |
B Classe 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 Classe MyB : B TypeDef A Classe MyBé uma forma de typedef aninhados. |
#include <vector> ... using namespace std; ... typedef vector<int> MyIntVect; |
vector<T>Classe MyIntVect : vector<int> TypeDef |
class B {}; typedef B MyB; class A : MyB {}; |
MyB : B TypeDef -> B B A Classe -> MyB O Class Designer não oferece suporte para exibir esse tipo de relacionamento, usando um comando de menu de contexto. |
#include <vector> Typedef MyIntVect std::vector<int>; Class MyVect : MyIntVect {}; |
std::vector<T> Classe MyIntVect : std::vector<int> TypeDef MyVect Classe -> MyIntVect |