Hi,
I got __PureVirtualCalled exception when I have defined a public
function in the base class, and its implementation calls number of
"pure virtual functions", which are overridden in the derived class.
For example
class Base
{
public:
void foo();
virtual ~Base();
private:
virtual void pure1() = 0;
virtual void pure2() = 0;
virtual void pure3() = 0;
};
void Base::foo()
{
pure1();
pure2();
pure3();
}
class Derived : public Base
{
private:
void pure1();
void pure2();
void pure3();
};
void Derived::pure1()
{
// do something
}
void Derived::pure2()
{
// do something
}
void Derived::pure3()
{
// do something
}
Can someone please explain to me why I would be getting
__PureVirtualCalled exception? Can't I call a pure virtual function
from the base class. BTW, as you have seen I did not provide any
implementation for the pure virtual in base class.
I'm using HP's aCC compiler.
Thanks in advance.