以下のようなコードで、
継承先のクラス宣言部内(class{〜間};)
で親のpublicメソッドが呼べるのですが、
継承先のメソッド内ではAccess Violationエラーが
出て呼べない状況です。
継承の使い方が間違ってるでしょうか?

class B
{
public:
B(){}
~B(){}
virtual void SendData();
virtual void OnRecieve()=0;
};
void B::SendData(){ }

class A : public B
{
public:
A(){ SendData(); } << 正常にSendData()が実行される
~A(){}
virtual void SendData2();
void OnRecieve(){};
};

void A::SendData2(){ SendData(); }
↑
このメソッドコールするとSendData()のところで
Access Violation C0000005