F
F. Meyer
Hi, everybody
I'm working with STL container map to store an element. Everything
happens well when I've an simple class (whit no inheritance). But if
using inherited classes I got some estrangs behaviors
Ex.
Class1 {
public:
int value;
Class1(int value) {
this->value = value;
}
Class1();
}
Class2 : public Class1 {
public:
int value2;
Class2();
Class2(int value1, int value2) : Class1(value1) { this->value2=value2
}
}
std::map<int, Class2> map_Class;
Class2 tmp = Class2(1, 9);
map_Class[0] = tmp;
tmp = map_Class[0]; // wrong value to base class attribute.
tmp.value2 == 9
tmp.value == ??? /wrong value;
I'm working with STL container map to store an element. Everything
happens well when I've an simple class (whit no inheritance). But if
using inherited classes I got some estrangs behaviors
Ex.
Class1 {
public:
int value;
Class1(int value) {
this->value = value;
}
Class1();
}
Class2 : public Class1 {
public:
int value2;
Class2();
Class2(int value1, int value2) : Class1(value1) { this->value2=value2
}
}
std::map<int, Class2> map_Class;
Class2 tmp = Class2(1, 9);
map_Class[0] = tmp;
tmp = map_Class[0]; // wrong value to base class attribute.
tmp.value2 == 9
tmp.value == ??? /wrong value;