class base {
public:
int a;
};
class derived : public base {
public:
int b;
};
int main() {
base* bptr = new base;
derived* dptr = static_cast<derived*>(bptr);
dptr->a = 5;
}
如果我仅使用基类成员(例如“ a”)而不使用派生类(例如“ b”),那么这是c ++中的合法代码吗?