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.