Comment déclarer un constructeur de copie dans une classe dérivée, sans constructeur par défaut dans la base?

Veuillez prendre un coup d'oeil sur l'exemple suivant:

class Base
{
protected:
    int m_nValue;

public:
    Base(int nValue)
        : m_nValue(nValue)
    {
    }

    const char* GetName() { return "Base"; }
    int GetValue() { return m_nValue; }
};

class Derived: public Base
{
public:
    Derived(int nValue)
        : Base(nValue)
    {
    }
    Derived( const Base &d ){
        std::cout << "copy constructor\n";
    }

    const char* GetName() { return "Derived"; }
    int GetValueDoubled() { return m_nValue * 2; }
};

Ce code tient en me jetant une erreur qu'il n'existe pas de constructeur par défaut de la classe de base. Quand je le reconnais tout est ok. Mais quand je n'ai pas, le code ne fonctionne pas.

Comment puis-je déclarer un constructeur de copie de la classe dérivée, sans le déclarer par défaut du constructeur dans la classe de base?

Thnaks.

source d'informationauteur unresolved_external