相关疑难解决方法(0)

什么是动态类型的对象

我认为动态类型意味着动态分配对象使用new.在下面的例子中,您是否p指出动态类型或静态类型的对象?在标准中,它没有说动态类型是动态对象.

1.3.3 - 由左值表达式表示的左值所指的最派生对象(1.8)的类型.[示例:如果指针(8.3.1)p的静态类型是"指向B类的指针"指向D类的对象,从B派生(第10节),则表达式*p的动态类型为"D" ".参考文献(8.3.2)的处理方式相似.]

以下引用的含义是什么呢?

rvalue表达式的动态类型是其静态类型

class Base {
    virtual void foo(){}
};

class Derived : public Base {
    void foo(){}
};

int main()
{
    Derived d;
    Base *p = &d;
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance pointers lvalue subobject

10
推荐指数
3
解决办法
5258
查看次数

标签 统计

c++ ×1

inheritance ×1

lvalue ×1

pointers ×1

subobject ×1