Re: A simple problem with an abstract class...
- From: Norbert Unterberg <nunterberg@xxxxxxxxxxxxxxxxx>
- Date: Thu, 22 Mar 2007 07:49:30 +0100
Jim Brown schrieb:
Hi,
I'm working an a large legacy app that is built with Makefiles using the Microsoft Visual Studio 8/VC/BIN/cl.EXE compiler. I have a crazy problem that I'm hoping someone has seen before. I've included a simplified version of the problem that runs fine in a VC++ console test project. The project crashes if I instantiate an object of class B without commenting out the call to the pure virtual function x() in A::doIt(); Naturally, B deals with objects derived from A.
Thanks for taking a look.
class A
{
public:
void doIt() { x(); }
virtual void x() = 0;
virtual ~A() {}
};
class B
{
public:
B() {}
void push(A* pA) { ... }
A* pop() { A* pA = ...; return pA; }
void tryIt() { A* pA = pop(); pA->doIt(); }
};
I would assume B has to handle some A derived class that did not overload x() (however that happended). You could verify that by creating a default implementation of A::x() that ASSERTS or breaks in the debugger.
Norbert
.
- References:
- A simple problem with an abstract class...
- From: Jim Brown
- A simple problem with an abstract class...
- Prev by Date: Re: Strange code generated by compiler
- Next by Date: How to get work of year from CTIME?
- Previous by thread: Re: A simple problem with an abstract class...
- Next by thread: How we can check whether window is in Minimise mode or Maximise mode.
- Index(es):
Relevant Pages
|