Category: 

What Is Pure Virtual Function?

Article Details
  • Written By: Alex Newth
  • Edited By: Angela B.
  • Last Modified Date: 19 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
Although Stonehenge is the most famous, there are over 1,000 ancient stone circles standing in the British Isles.   more...

September 26 ,  1960 :  The first televised US Presidential debate took place.  more...

Nearly all types of object-oriented programming (OOP), which creates programs and separates the sections of code into “objects,” have a function called a pure virtual function, which is different from a virtual function. Also known as an abstract function, a pure virtual function acts as a placeholder for other variables and takes information from other functions and classes to fill in the blanks. The advantage of using a pure virtual function is that the information is malleable and can be changed according to each user. To work, there must be a derived class from which the data are acquired.

A virtual function is similar to the pure variant. Both are able to change depending on the user’s input. For example, if a user types in his or her name, the virtual function will change for the entire program to accommodate that user’s name. The difference is that a virtual function is not dependent on other classes, because the virtual function has its own body that passes the data along to other classes and functions that call for the information, in this example the user’s name.

Ad

A pure virtual function, by contrast, does not have any body. This means that, by itself, the abstract function is useless. It has no data of its own and, if the abstract class is called without any information, it could result in an error. The pure virtual function must have a derived class, or a class that gathers data for the abstract function, to work.

The derived class may be a question or an area where a user enters some sort of input, such as a text field. The information from this class is then transferred to all connected pure virtual functions, coordinating the answers. Unless the abstract function is specifically called, it will not activate unless there are readily supplied data.

Pure virtual functions have several advantages. Using an abstract function instead of creating an entire coding body substantially limits the amount of code the programmer needs to create, especially for large programs that use the same information continuously. The abstract function can also be tweaked by the programmer to change how the program handles data to make it more efficient. The information is based on derived classes, so programs with questions and complex input will tailor the data according to the user’s input without the program accidentally calling another section of irrelevant code.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

Post Anonymously

Login

username
password
forgot password?

Register

username
password
confirm
email