Suppose I have these two classes
class base_size
{
public:
int size()
{ return 5; }
};
class base_implement
{
public:
base_implement(int s) : _vec(s)
{
cout << "size : " << _vec.size() << endl;
}
private:
vector<float> _vec;
};
If I were to inherit from both of these would it be alright to call one of these classes member function in the other's constructor? For example
class derived :
public base_implement,
public base_size
{
public:
derived() : base_size(), base_implement(size())
{
// Is this OK?
// If derived is not yet constructed can I access this->size() ?
// Works in VC++. Not sure about other compilers.
}
};