首页 > 试题广场 >

在C++, 基类至少含有一个虚函数时,下列哪一个可以做为对象

[单选题]
在C++, 基类至少含有一个虚函数时,下列哪一个可以做为对象继承之间的转换
  • static_cast
  • dynamic_cast
  • const_cast
  • reinterpret_cast
推荐
【正确答案】B
【解析】A 选项 static_cast 用于良性转换,一般不会导致意外发生,风险很低。
B 选项 dynamic_cast 借助 RTTI,用于类型安全的向下转型(Downcasting)。
C 选项 const_cast 用于 const 与非 const、volatile 与非 volatile 之间的转换。
D 选项 reinterpret_cast 高度危险的转换,这种转换仅仅是对二进制位的重新解释,不会借助已有的转换规则对数据进行调整,但是可以实现最灵活的 C++ 类型转换。

类型转换运算符知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
编辑于 2021-11-17 12:44:10 回复(0)
答案:B
dynamic_cast 动态转换
编辑于 2021-11-17 12:44:10 回复(0)
dynamic_cast : 
继承体系安全向下转型或跨系转型;找出某对象占用内存的起始点
static_cast:
同旧式C转型,如int 到double
const_cast:
常用于去除某个对象的常量性
reinterpret_cast
不具备移植性,常见用途是转化函数指针类型
发表于 2015-08-08 17:01:19 回复(1)
dynamic_cast主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换。

dynamic_cast:   通常在基类和派生类之间转换时使用
const_cast:   主要针对const和volatile的转换
static_cast:   一般的转换(no run-time check)通常,如果你不知道该用哪个,就用这个。   
reinterpret_cast:   用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数。
发表于 2015-04-26 15:50:29 回复(0)
dynamic_cast运算符的主要用途:将基类的指针或引用安全地转换成派生类的指针或引用
发表于 2021-08-01 11:21:10 回复(0)
这个真不知道
发表于 2015-04-24 13:56:00 回复(0)
对象继承?
发表于 2023-11-29 20:53:17 回复(0)
请把C++的题归到C++里面,不要放到C里面,谢谢
发表于 2023-08-12 19:35:33 回复(0)
dynamic_cast继承体系安全向下转型或跨系转型,找出某对象占用内存的起始点。
发表于 2022-02-20 15:07:47 回复(0)
dynamic_cast : 
继承体系安全向下转型或跨系转型;找出某对象占用内存的起始点
static_cast:
同旧式C转型,如int 到double
const_cast:
常用于去除某个对象的常量性
reinterpret_cast
不具备移植性,常见用途是转化函数指针类型
发表于 2020-01-07 12:05:49 回复(0)
einterpret_cast<type-id> (expression)
type-id 必须是一个指针、引用、算术类型、函数指针或者成员指针;
expression必须用小括号括起来;
它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针
发表于 2019-06-06 17:01:53 回复(0)
b
发表于 2019-04-28 14:53:10 回复(0)
关于C++中的四种新式类型转换,请看博文:http://blog.sina.com.cn/s/blog_155aff35b0102wy1z.html
发表于 2017-10-24 08:55:11 回复(1)
呵呵,没有虚函数能用dynamic_cast!?
编辑于 2017-08-10 17:28:23 回复(1)
dynamic_cast : 
继承体系安全向下转型或跨系转型;找出某对象占用内存的起始点
static_cast:
同旧式C转型,如int 到double
const_cast:
常用于去除某个对象的常量性
reinterpret_cast
不具备移植性,常见用途是转化函数指针类型
发表于 2017-05-18 20:35:55 回复(0)
a,b都可以啊
发表于 2017-03-14 09:46:34 回复(0)
dynamic_cast : 
继承体系安全向下转型或跨系转型;找出某对象占用内存的起始点
static_cast:
同旧式C转型,如int 到double
const_cast:
常用于去除某个对象的常量性
reinterpret_cast
不具备移植性,常见用途是转化函数指针类型
发表于 2016-10-10 19:30:31 回复(0)
此题有bug, 如果不含虚函数, 不能用 dynamic_cast
发表于 2016-09-24 21:51:58 回复(0)
dynamic_cast 在基类和派生类之间的转换
发表于 2015-09-02 21:48:11 回复(0)
B
dynamic_cast
发表于 2015-01-26 21:17:24 回复(0)