#include <iostream>
class VBoard
{
int address;
public :
VBoard( int address ) :
address( address )
{ }
virtual ~VBoard() { };
virtual void Init() = 0;
};
class VBoardAcquisitor : public VBoard
{
int *buffer;
public :
VBoardAcquisitor(int address) :
VBoard( address ),
buffer( nullptr )//problem here
{ }
virtual ~VBoardAcquisitor() { };
virtual void AllocBuff() = 0;
};
class V1785N : public VBoardAcquisitor
{
public :
V1785N( int address ) :
VBoardAcquisitor(address)
{ }
~V1785N() { }
void Init() override { std::cout << "Init\n"; }
void AllocBuff() override { std::cout << "AllocBuff\n"; }
};
int main()
{
V1785N adc( 0x40000000 );
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgVkJvYXJkCnsKICAgIGludCBhZGRyZXNzOwoKICAgIHB1YmxpYyA6CiAgICAgICAgVkJvYXJkKCBpbnQgYWRkcmVzcyApIDoKICAgICAgICAgICAgYWRkcmVzcyggYWRkcmVzcyApCiAgICB7IH0KICAgICAgICB2aXJ0dWFsIH5WQm9hcmQoKSB7IH07CgogICAgICAgIHZpcnR1YWwgdm9pZCBJbml0KCkgPSAwOwp9OwoKY2xhc3MgVkJvYXJkQWNxdWlzaXRvciA6IHB1YmxpYyBWQm9hcmQKewogICAgaW50ICpidWZmZXI7CgogICAgcHVibGljIDoKICAgICAgICBWQm9hcmRBY3F1aXNpdG9yKGludCBhZGRyZXNzKSA6CiAgICAgICAgICAgIFZCb2FyZCggYWRkcmVzcyApLAogICAgICAgICAgICBidWZmZXIoIG51bGxwdHIgKS8vcHJvYmxlbSBoZXJlCiAgICB7IH0KICAgICAgICB2aXJ0dWFsIH5WQm9hcmRBY3F1aXNpdG9yKCkgeyB9OwoKICAgICAgICB2aXJ0dWFsIHZvaWQgQWxsb2NCdWZmKCkgPSAwOwp9OwoKY2xhc3MgVjE3ODVOIDogcHVibGljIFZCb2FyZEFjcXVpc2l0b3IKewogICAgcHVibGljIDoKICAgICAgICBWMTc4NU4oIGludCBhZGRyZXNzICkgOgogICAgICAgICAgICBWQm9hcmRBY3F1aXNpdG9yKGFkZHJlc3MpCiAgICAJeyB9CiAgICAgICAgflYxNzg1TigpIHsgfQoKICAgICAgICB2b2lkIEluaXQoKSBvdmVycmlkZSB7IHN0ZDo6Y291dCA8PCAiSW5pdFxuIjsgfQogICAgICAgIHZvaWQgQWxsb2NCdWZmKCkgb3ZlcnJpZGUgeyBzdGQ6OmNvdXQgPDwgIkFsbG9jQnVmZlxuIjsgfQp9OwoKCmludCBtYWluKCkKewogICAgVjE3ODVOIGFkYyggMHg0MDAwMDAwMCApOwogICAgcmV0dXJuIDA7Cn0=