Im trying to cast class, but something is wrong. I was trying static_cast<>
, dynamic_cast<>
but still im getting errors. I need one array with 2 types of classes.
class user
{
int value;
user(int valueInit)
{
value = valueInit;
};
int getValue()
{
return value;
}
};
class premium : public user
{
int premiumValue;
premium(int valueInt, int premiumValueInit)
{
value = valueInt;
premiumValue = premiumValueInit;
};
};
And here is main code in main()
function
user fUser(10);
premium fPremium(20, 5);
premium *array = new premium[2];
(user)array[0] = u1;
array[1] = p1;
cout << "Value: " << array[0].getValue() << endl; //incorrect/random value
cout << "Value: " << array[1].getValue() << endl; //correct value
Usually I use java, so I have huge problems with c++. I know what I should do but I dont know how.