У меня есть вопрос о назначении объекта производного класса с указателем базового класса ...
class Base
{
void print() { cout<<"Class Base"; }
};
class Derived: public Base
{
void print() { cout<<"class Derived"; }
};
int main()
{
Base b, *bp;
Derived d, *dp;
b.print();
d.print();
bp = d; // why is this a conversion error? getting an error "cannot convert ‘Derived’ to ‘Base*’ in assignment"
bp = new B(); // this works fine...
}
Значит ли это, что мы можем только назначить динамически размещенный объект производного класса указателю базового класса? почему так ???