--- description: "Learn more about: virtual (C++)" title: "virtual (C++)" ms.date: "11/04/2016" f1_keywords: ["virtual_cpp", "virtual"] helpviewer_keywords: ["virtual base classes [C++], declaring", "base classes [C++], virtual", "virtual functions [C++], declaring", "virtual keyword [C++]"] ms.assetid: c2eb987d-6cf3-43b6-aa0c-29a6f561b1ae --- # virtual (C++) The **`virtual`** keyword declares a virtual function or a virtual base class. ## Syntax ``` virtual [type-specifiers] member-function-declarator virtual [access-specifier] base-class-name ``` #### Parameters *type-specifiers*
Specifies the return type of the virtual member function. *member-function-declarator*
Declares a member function. *access-specifier*
Defines the level of access to the base class, **`public`**, **`protected`** or **`private`**. Can appear before or after the **`virtual`** keyword. *base-class-name*
Identifies a previously declared class type. ## Remarks See [Virtual Functions](../cpp/virtual-functions.md) for more information. Also see the following keywords: [class](../cpp/class-cpp.md), [private](../cpp/private-cpp.md), [public](../cpp/public-cpp.md), and [protected](../cpp/protected-cpp.md). ## See also [Keywords](../cpp/keywords-cpp.md)