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";
}
};
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible.
Submit your tip here.