I have a class and the constructor accepts a parameter. For example,
class Entity
{
private:
int number_;
public:
Entity(int number):number_(number)
{
std::cout << "Entity object created";
}
}
// header
class SuperEntity
{
private:
Entity *entity_;
public:
SuperEntity(int value);
};
// source
SuperEntity::SuperEntity(int value)
{
entity_ = new Entity(value);
}
class SuperEntity
has a private member Entity
. Since in order to instantiate Entity
you need to pass in an int
to it's constructor and cannot be done the declaration file (superentity.h
) because the int
value needed to instantiate Entity
is not available yet, is it okay to dynamically allocate Entity
in SuperEntity
's constructor? Is this a bad practice? Thanks.