je créé une classe:c'tor de base avec l'argument dérivé
class Base{
public:
Base(int = 0);
~Base();
Base(Base&);
Base(Derived&); //<- here
int valueOfBase();
protected:
int protectedData;
private:
int baseData;
};
class Derived: public Base{
public:
Derived(int = 0);
Derived(Derived&);
~Derived();
private:
int derivedData;
};
###//Impplementation in .cpp
Base::Base(Base& base)
{
baseData = base.baseData;
protectedData = base.protectedData;
cout << "base Copy C'tor" << endl;
}
Base::Base(Derived& hello)
{
baseData = hello.protectedData;
}
mais quand je tente de compiler un code Je reçois un Erro (près here
)
expected) before & token
puis-je créer la base c avec un argument dérivé pour écrire quelque chose comme ça
Derived derived(1);
Base base1 = derived;
sinon pourquoi? merci d'avance
Plus où est la définition de 'Derived'? –
@Prasoon Saurav: est-ce correct, ou est-ce que je manque quelque chose? – rookie
Vous devez fournir la déclaration avant de la classe 'Derived'. Voir la réponse de JoshD. –