__declspec(hidesbase)
カテゴリ
構文
__declspec(hidesbase) declarator
hidesbase 引数は、Delphi との互換性を保つために使用されます。 Delphi コードを最小限の変更で C++ に移植できるように C++ の標準のオーバーライド セマンティクスを変更するために使用されます。
メモ:
__declspec(hidesbase)
の代わりに、sysmac.h に定義されているマクロ HIDESBASE を使用することもできます。
以下のコード例では、マクロ HIDESBASE
の効果を示しています。
メソッド f はオーバーライドされます。 | HIDESBASE を付けると、メソッド f はオーバーライドされません。
|
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
|