You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The accessibility of an interface outside the assembly. Possible values are **`public`** and **`private`**. **`private`** is the default. Nested interfaces cannot have an *interface_access* specifier.
25
+
*`interface_access`*\
26
+
The accessibility of an interface outside the assembly. Possible values are **`public`** and **`private`**. **`private`** is the default. Nested interfaces can't have an *`interface_access`* specifier.
27
27
28
-
*name*<br/>
28
+
*`name`*\
29
29
The name of the interface.
30
30
31
-
*inherit_access*<br/>
32
-
The accessibility of *base_interface*. The only permitted accessibility for a base interface is **`public`** (the default).
31
+
*`inherit_access`*\
32
+
The accessibility of *`base_interface`*. The only permitted accessibility for a base interface is **`public`** (the default).
33
33
34
-
*base_interface*<br/>
35
-
(Optional) A base interface for interface *name*.
34
+
*`base_interface`*\
35
+
(Optional) A base interface for interface *`name`*.
36
36
37
37
### Remarks
38
38
39
-
**interface struct** is equivalent to **interface class**.
39
+
**`interface struct`** is equivalent to **`interface class`**.
40
40
41
41
An interface can contain declarations for functions, events, and properties. All interface members have public accessibility. An interface can also contain static data members, functions, events, and properties, and these static members must be defined in the interface.
42
42
43
-
An interface defines how a class may be implemented. An interface is not a class and classes can only implement interfaces. When a class defines a function declared in an interface, the function is implemented, not overridden. Therefore, name lookup does not include interface members.
43
+
An interface defines how a class may be implemented. An interface isn't a class and classes can only implement interfaces. When a class defines a function declared in an interface, the function is implemented, not overridden. Therefore, name lookup doesn't include interface members.
44
44
45
-
A class or struct that derives from an interface must implement all members of the interface. When implementing interface *name* you must also implement the interfaces in the `base_interface` list.
45
+
A `class` or `struct` that derives from an interface must implement all members of the interface. When implementing interface *`name`*, you must also implement the interfaces in the *`base_interface`* list.
For information on other CLR types, see [Classes and Structs](classes-and-structs-cpp-component-extensions.md).
54
54
55
-
You can detect at compile time if a type is an interface with `__is_interface_class(type)`. For more information, see [Compiler Support for Type Traits](compiler-support-for-type-traits-cpp-component-extensions.md).
55
+
You can detect at compile time if a type is an interface with `__is_interface_class(type)`. For more information, see [Compiler support for type traits](compiler-support-for-type-traits-cpp-component-extensions.md).
56
56
57
-
In the development environment, you can get F1 help on these keywords by highlighting the keyword, (**`interface class`**, for example) and pressing F1.
57
+
In the development environment, you can get F1 help on these keywords by highlighting the keyword (for example, **`interface class`**) and pressing **F1**.
0 commit comments