Code:
#include
class myc {
int dummy;
public:
int si(){return sizeof(*this);}
};
class d_myc : public myc {
int d_dummy;
};
int mai
This is resolved at compile time:
class myc {
int dummy;
public:
int si(){return sizeof(*this);}
};
i.e. *this is always myc and will never be d_myc.
To get what you want you will have to override the function in d_myc to do the same in the derived as the base. This is because sizeof(d_myc) includes the base class too.