Ran*_*der 2 c++ pointers class base
我有一个关于使用基类指针分配派生类对象的问题...
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...
}
Run Code Online (Sandbox Code Playgroud)
这是否意味着我们只能将动态分配的派生类对象分配给基类指针?为什么会这样???
| 归档时间: |
|
| 查看次数: |
788 次 |
| 最近记录: |