Typedef di Visual C++ in Progettazione classi
Aggiornamento: novembre 2007
Le istruzioni typedef creano uno o più livelli di riferimento indiretto tra un nome e il relativo tipo sottostante. Progettazione classi supporta i tipi typedef di C++ dichiarati con la parola chiave typedef, ad esempio:
typedef class coord
{
void P(x,y);
unsigned x;
unsigned y;
} COORD;
È quindi possibile utilizzare questo tipo per dichiarare un'istanza:
COORD OriginPoint;
Anche se è possibile dichiarare un typedef senza nome, Progettazione classi non utilizzerà il nome del tag specificato bensì il nome generato da Visualizzazione classi. Ad esempio, la dichiarazione seguente è valida, ma viene visualizzata in Visualizzazione classi e Progettazione classi come oggetto denominato __senzanome:
typedef class coord
{
void P(x,y);
unsigned x;
unsigned y;
};
Per ulteriori informazioni sull'utilizzo del tipo typedef vedere typedef Specifier.
La forma di un typedef di C++ è quella del tipo specificato nel typedef. Ad esempio, se l'origine dichiara typedef class, la forma ha angoli arrotondati e l'etichetta Classe. Per typedef struct, la forma ha angoli quadrati e l'etichetta Struct.
Classi e strutture possono avere typedef nidificati dichiarati in esse; pertanto, le forme delle classi e delle strutture possono mostrare dichiarazioni typedef nidificate come forme nidificate.
Le forme di typedef supportano i comandi Mostra come associazione e Mostra come associazione di insiemi dal menu di scelta rapida.
Gli elementi seguenti sono alcuni esempi di tipi typedef supportati da Progettazione classi:
Elemento di codice |
Visualizzazione di Progettazione classi |
---|---|
typedef type name |
nome: tipo typedef Disegna una linea di associazione per la connessione al tipo nome, se possibile. |
typedef void (*func)(int) |
func: void (*)(int) typedef Typedef per i puntatori a funzione. Non viene disegnata alcuna linea di associazione. In Progettazione classi non viene visualizzato un typedef se il relativo tipo di origine è un puntatore a funzione. |
|
MyInt: int typedef A Classe Disegna una linea di associazione che punta dalla forma del tipo di origine alla forma del tipo di destinazione. |
Class B {}; typedef B MyB; |
B Classe MyB : B typedef Se si fa clic con il pulsante destro del mouse su una forma di typedef e si sceglie Mostra come associazione viene visualizzato il typedef o la classe e un Alias di linea che unisce le due forme (simile a una linea di associazione). |
typedef B MyB; typedef MyB A; |
MyBar : Bar typedef Uguale alla situazione precedente. |
|
B Classe MyB : B typedef A Classe MyB è una forma di typedef nidificata. |
#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 Progettazione classi non supporta la visualizzazione di questo tipo di relazione mediante un comando del menu di scelta rapida. |
#include <vector> Typedef MyIntVect std::vector<int>; Class MyVect : MyIntVect {}; |
std::vector<T> Classe MyIntVect : std::vector<int> typedef MyVect Classe -> MyIntVect |
Vedere anche
Concetti
Utilizzo del codice Visual C++ in Progettazione classi