__declspec(hidesbase)

De RAD Studio
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 Delphi. Il est utilisé pour changer la sémantique de redéfinition du C++ standard afin que le code Delphi 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