__declspec(hidesbase)
Nach oben zu Schlüsselwörter alphabetisch - Index
Kategorie
Modifizierer, Schlüsselwort-Erweiterungen, Speicherklassenspezifizierer
Syntax
__declspec(hidesbase) declarator
Das Argument hidesbase wird aus Gründen der Kompatibilität zu Delphi verwendet. Es ändert die Standard-C++-Semantik für das Überschreiben, damit Delphi-Code mit einem Minimum an Modifikationen nach C++ portiert werden kann.
Hinweis: Das Makro
HIDESBASE
(ist in sysmac.h definiert) kann als Alternative für __declspec(hidesbase) verwendet werden.
Das folgende Codebeispiel zeigt die Wirkung des Makros HIDESBASE
:
Methode f ist überschrieben. | Mit HIDESBASE wird die Methode f nicht überschrieben.
|
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
|