הערה
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות להיכנס או לשנות מדריכי כתובות.
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות לשנות מדריכי כתובות.
sealed, abstract, and override are available in compilations that do not use /ZW or /clr.
Note
The ISO C++11 Standard language override and final specifiers are supported in Visual Studio. Use final instead of sealed in code that is meant to be compiled as native-only.
Example: sealed is valid
Description
The following example shows that sealed is valid in native compilations.
Code
// sealed_native_keyword.cpp
#include <stdio.h>
__interface I1 {
virtual void f();
virtual void g();
};
class X : public I1 {
public:
virtual void g() sealed {}
};
class Y : public X {
public:
// the following override generates a compiler error
virtual void g() {} // C3248 X::g is sealed!
};
Example: override is valid
Description
The next example shows that override is valid in native compilations.
Code
// override_native_keyword.cpp
#include <stdio.h>
__interface I1 {
virtual void f();
};
class X : public I1 {
public:
virtual void f() override {} // OK
virtual void g() override {} // C3668 I1::g does not exist
};
Example: abstract is valid
Description
This example shows that abstract is valid in native compilations.
Code
// abstract_native_keyword.cpp
class X abstract {};
int main() {
X * MyX = new X; // C3622 cannot instantiate abstract class
}