Code:
class base
{
public:
base(int data = 0):a(data)
{}
base(const base& rhs)
{
a = rhs.a;
}
base& operator = (const base& rhs)
{
a = rhs.a;
return *this;
}
private:
int a;
};
class derived:public base
{
public:
int b;
derived(int data =0):b(data),base(data)
{}
derived(const derived& rhs):base(rhs)
{
b = rhs.b;
}
derived& operator = (const derived& rhs)
{
this->base::operator=(rhs);
b = rhs.b;
return *this;
}
};
int main()
{
derived der1(1),der2(2),der3(3);
der1 = der2 = der3;
}
or Even if it is right, Is there a better way of doing it?
Pls advice
Comment