I am trying to resolve this compile error regarding the assignment operator.
Suppose I have a base class:
class A
{
public:
virtual A change_to(const condition& cond){ }
protected:
double i,j,k;
}
And child classes:
class B : public A
{
public:
A change_to(const condition& cond)
{
// do some operations depending on the condition
return A;
}
}
class C : public A
{
public:
A change_to(const condition& cond)
{
// do some operations depending on the condition
return A;
}
}
int main()
{
A elementA;
B elementB;
C elementC;
condition = enum::cond1 ; // assume enumeration is defined
Suppose I want to change element B into C based on a given condition. I would like to do something like this:
elementC=elementB.change_to(condition); // I need a copy constructor and assignment operator
return 0;
}
How can I implement an assignment operator that takes into account the fact that the change is possible between any member of the children family of classes?
the error is in the assignment operator=