Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Intermediate
Apr 7, 2008

Pure Virtual Functions Declared as Private in C++ Classes

The following code may seem strange at first sight:

class Base
{
private:
   virtual void f() = 0;
};
How can a pure virtual function be private? Will the derived class be able to override it? Actually, it's possible for pure virtual functions to have any access modifier: private, protected, or public. Moreover, you can also change their access levels when they're overridden in a derived class:

class Derived : public Base
{
public:
   void f()
   {
      std::cout << "Overloaded public f() in Derived class\n";
   }
};
Alexander Ocher
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap