Re: A simple problem with an abstract class...
- From: "Ben Voigt" <rbv@xxxxxxxxxxxxx>
- Date: Wed, 21 Mar 2007 08:19:33 -0500
"Jim Brown" <noSpam@xxxxxxxxxxx> wrote in message
news:%23sInEgzaHHA.5080@xxxxxxxxxxxxxxxxxxxxxxx
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.
Do any partially constructed objects get handed off to B? The virtual table
is initialized incrementally, so calls to virtual functions made from inside
the base constructor aren't made virtually.
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(); }
};
.
- Follow-Ups:
- Re: A simple problem with an abstract class...
- From: Tamas Demjen
- Re: A simple problem with an abstract class...
- References:
- A simple problem with an abstract class...
- From: Jim Brown
- A simple problem with an abstract class...
- Prev by Date: Re: Unhandled exception - How to turn off!
- Next by Date: Re: Unhandled exception - How to turn off!
- Previous by thread: Re: A simple problem with an abstract class...
- Next by thread: Re: A simple problem with an abstract class...
- Index(es):
Relevant Pages
|