首先基类对象是不可以转换成派生类对象的,只有指向派生类对象的基类指针才可以转换成派生类对象指针。有...
使用dynamic_cast转换符可以将基类对象的指针或者引用
(3)dynamic_cast转换如果成功的话返回的是指向类的指针或引用,转换失败的话则会返回NULL。 (4)使用dynamic_cast进行转换的,基类中一定要有虚函数,否则编译不通过。 基类中需要检测有虚函数的原因:类中存在虚函数,就说明它有想要让基类指针或引用指向派生类对象的情况,此时转换才有意义。 这是由于运行时类型检查需...
转换成功返回的是指向类的指针或引用,失败则会返回 NULL 。 通过dynamic_cast进行转换时,基类中一定要有虚函数,否则编译不通过。 向下转换 (派生类指针指向基类对象) 时,使用 dynamic_cast更安全;而向上转换 (基类指针指向派生类对象) 时,dynamic_cast和static_cast两者效果相同。 之所以要求有虚函数,是因为,只有存...
45.const放在函数前面使常量成员返回__常量对象___;如果定义一个const对象,则只能访问该对象的const 成员函数; 46.在面向对象的程序设计中,一切都是围绕着___类___展开的; 47.析构造函数是和___类___同名的函数; 48.指向基类的对象的指针变量也可以指向___派生类___的对象; 49.若多继承时,多个基类中...
当基类指针指向派生类对象时,会发生() A. 错误,基类指针不能指向派生类对象 B. 基类指针可以指向派生类对象,但在此情况下只能调用基类自己定义的成员函数 C. 基类指
1.dynamic_cast运算符:以安全的方式将父类的指针或引用转换为派生类的指针或引用。 2.typeid运算符:返回指针或引用所指向对象的具体类型。 RTTI中的dynamic_cast运算符可以让父类对象调用子类对象中的普通成员函数。 RTTI中使用dynamic_cast运算符和typeid运算符的相同前提条件:父类中至少有一个虚函数。
基类指针不能指向其私有派生类的对象 D. 指向派生类对象的指针不可以指向基类的对象 相关知识点: 试题来源: 解析 B 正确答案:B解析:其前半句是正确的,但后半句是错误的。它可以访问派生类的对象中由基类继承下来的成员,但不可访问派生类新增成员。
下列说法中不正确的是 。 A. 指向基类对象的指针可以指向派生类对象 B. 基类指针指向派生类对象时,只能访问到从基类继承来的成员 C. 派生类对象可以初始化
当基类指针指向派生类对象时,利用基类指针调用派生类中与基类同名但被派生类重写后的成员函数A.基类的成员函数 (B.派生类的成员函数 (C.不确定 (D.先调用基类的,再调