Why not have a design like this -
class AbstracBasetClass
{
public:
int number;
};
class ClassA : public AbstracBasetClass
{
public:
};
class ClassB : public AbstracBasetClass
{
public:
};
class ClassC: public AbstracBasetClass
{
public:
};
class AbstracBasetClass
{
public:
int number;
};
class ClassA : public AbstracBasetClass
{
public:
};
class ClassB : public AbstracBasetClass
{
public:
};
class ClassC: public AbstracBasetClass
{
public:
};
To copy to clipboard, switch view to plain text mode
and then simply call foo->number = value;
or you could also do something like -
class AbstracBasetClass
{
public:
virtual void setNumber(int number) {} // empty implementation in base class
};
class ClassA : public AbstracBasetClass
{
public:
int numA;
void setNumber(int number) {numA = number; }
};
class ClassB : public AbstracBasetClass
{
public:
int numB;
void setNumber(int number) {numB = number; }
};
class ClassC: public AbstracBasetClass
{
public:
int numC;
void setNumber(int number) {numC = number; }
};
class AbstracBasetClass
{
public:
virtual void setNumber(int number) {} // empty implementation in base class
};
class ClassA : public AbstracBasetClass
{
public:
int numA;
void setNumber(int number) {numA = number; }
};
class ClassB : public AbstracBasetClass
{
public:
int numB;
void setNumber(int number) {numB = number; }
};
class ClassC: public AbstracBasetClass
{
public:
int numC;
void setNumber(int number) {numC = number; }
};
To copy to clipboard, switch view to plain text mode
then from your code you can call foo->setNumber(1);, etc depending on your if condition.
Hope some way fits you
Bookmarks