Per curiosità. Supponi di avere una classe con un membro dati:
class Base {
public:
//methods and constructor,set and get, operator overload etc
private:
int data;
};
class Der : public Base {
public:
//just overload of some of the methods in the base class, please note there's no data member
}
L'idea è fondamentalmente che ho molti metodi che sono in realtà gli stessi della classe base, e sarebbero uguali per la classe derivate. Credo di poter definire un costruttore per la classe Der come
Der::Der(const Base& x) {
this->set_data(x.data);
}
Tuttavia desidero implementare un costruttore per una classe base in cui l'argomento è una classe der. Qualcosa come
Base a = 10;
Der b = 3;
Base c = b; //Here!!!
Der d = a;
La mia domanda è se nel caso in cui sto esponendo devo implementare un costruttore, o il costruttore di copia farebbe automaticamente il lavoro per me, data la relazione tra la classe base e la classe der.