virtual specifier

   
virtual specifier Polymorphic function specifier or shared base class

  function-specifier  := virtual  base-modifiers  ::= virtual [  access-specifier  ]  access-specifier  [virtual] 

The virtual keyword has two unrelated uses; it is used in virtual functions and virtual base classes:

  • As a function specifier, virtual can be used only with a nonstatic member function. It makes the function and class polymorphic. A virtual function can be declared with = after the function header, which means the function is abstract. You cannot create an instance of a class with an abstract function; instead, a derived class must override the function. You can create an instance of the derived class.

  • Using virtual as a base-class modifier means the base class subobject is shared when it is used more than once in an inheritance graph.

Example

 struct shape {  virtual  void draw(canvas&) = 0;  virtual  void debug(  ); }; struct square :  virtual  shape {  virtual  void draw(canvas&);  virtual  void debug(  ); }; 

See Also

class , declaration , Chapter 6

   


C++ in a Nutshell
C++ in a Nutshell
ISBN: 059600298X
EAN: 2147483647
Year: 2005
Pages: 270
Authors: Ray Lischner

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net