多项选择题
有如下定义:classbase{public:virtualvoidmf1()=0;virtualvoidmf1(int);virtualvoidmf2();voidmf3();voidmf3(double);};classderived:publicbase{public:virtualvoidmf1();voidmf3();voidmf4();};derivedd;intx;则如下表达式中会导致错误的是:()
A.d.mf1()
B.d.mf1(x)
C.d.mf2()
D.d.mf3()
E.d.mf3(x)
点击查看答案
相关考题
-
多项选择题
头文件中的如下代码:#ifndef__XXXXX#define__XXXXX#endif则对它的说明正确的是()
A.可以用于防止在编译源文件时同一头文件被重复包含
B.如果不用它,在编译源文件可能会碰到重复定义的错误.
C.它可以用来区分当前的编译器是C或是C++编译器
D.编译器是在预处理阶段完成对它的处理 -
多项选择题
在C++中,有4种类型转换方式xxx_cast(E):static_cast,dynamic_cast和reinterpret_cast.下面说法是那些属于dynamic_cast()
A.该运算符把E转换为T类型,但没有运行时类型检查来保证转换的安全性
B.用于类层次结构中基类和子类之间指针或引用的转换。进行upcast(把子类的指针或引用转换成基类表示)是安全的;进行downcast(把基类指针或引用转换成子类表示)时,由于没有动态类型检查,所以是不安全的。
C.运算符把e转换成T类型的对象。T必须是类的指针、类的引用或者void*。
D.具有运行时类型检查的功能,比static_cast更安全。如果不能转化成功返回空指针 -
多项选择题
有定义intx=3;则如下语句中正确的是:()
A.x+=(x++)
B.x+=(++x)
C.(x++)+=x
D.(++x)+=(x++)