__declspec(hidesbase)

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Liste alphabétique des mots clés - Index


Catégorie

Modificateurs, Extensions des mots clés, Spécificateurs de classe de stockage

Syntaxe

__declspec(hidesbase) declarator

L'argument hidesbase est utilisé dans un souci de compatibilité avec Object Pascal. Il est utilisé pour changer la sémantique de redéfinition du C++ standard afin que le code Object Pascal puisse être porté sur C++ avec un minimum de modifications.

Remarque : Vous pouvez utiliser la macro HIDESBASE, définie dans sysmac.h, en alternative à __declspec(hidesbase).

L'exemple de code suivant montre l'effet de la macro HIDESBASE :

La méthode f est redéfinie. Avec HIDESBASE, la méthode f n'est pas redéfinie.
 class T1 {
 public:
  virtual void f() 
  {
   puts("T1::f");
  }
 };
 
 class T2 : public T1 {
 public:
  void f() 
  {
   puts("T2::f");
  }
 };
 
 // ...
 T1 *t = new T2();
 t->f(); // displays T2::f
 class T1 {
 public:
  virtual void f() 
  {
   puts("T1::f");
  }
 };
 
 class T2 : public T1 {
 public:
  HIDESBASE void f() 
  {
   puts("T2::f");
  }
 };
 
 // ...
 T1 *t = new T2();
 t->f(); // displays T1::f

Voir aussi