Bereitstellung von Basis-Klasse Konstruktor-Parameter beim erstellen einer abgeleiteten Klasse-Instanz

Gibt es eine Möglichkeit zu bieten Konstruktor-Parameter, um eine Basis-Klasse bei der new-ing eine abgeleitete Instanz der Klasse? (Das ist, wenn die Basisklasse der Konstruktor hat die Standard Werte für diesen Parameter)

E. g.

class Base
{
public:
 Base::Base( string name = "" )
 : m_name( name ) {};

private
 string m_name;
};

class Derived : public Base
{
public:
 Derived::Derived() {};
};

Dann brauche ich etwas wie das hier tun:

void main()
{
 Base* instance = new Derived( "Jeff" );
};

Dieser offensichtlich nicht funktioniert. Gibt es einen Weg, um neue eine abgeleitete Instanz und geben Sie einen Konstruktor-parameter, um die es base, ohne, dass die parameter der Konstruktor der abgeleiteten Klasse.

InformationsquelleAutor Marcus Tomlinson | 2012-07-04

Schreibe einen Kommentar