(a)
ref class X abstract {...};
ref class Y sealed {...};

(b)
ref struct X {
   virtual void f() abstract;
   virtual void f() new {...}
   virtual void f() override {...};
   virtual void f() sealed {...}
};

(c)
struct A {
   virtual void f() abstract;
};
struct B {
   virtual void f() abstract;
};
struct D : A, B {
   virtual void f(); // overrides A::f and B::f
};
struct E : A, B {
   virtual void g() = B::f; // overrides B::f only, E is abstract
};
struct F : A, B {
   virtual void f() override; // overrides A::f and B::f
};

Example 9: C++/CLI class and function modifiers.

Back to Article