1、以下数字在表示为double(8字节的双精度浮点数)时存在舍入误差的有()。
A.的平方根 B.10的30次方 C.0.1 D.0.5
解析:ABC A超出了double型能表示的最大界限。小数点后的位权应该是2的负数次方才没有误差,其他情况都有误差,即小数点后的第一位位权应该为2的-1次,即0.5,第二位也就是2的-2次,即0.25。
2、以下程序输出结果是——()
class A
{
public:
virtual void func(int val = 1)
{
std::cout << "A->" << val << std::endl;
}
virtual void test()
{
func();
}
};
class B : public A
{
public:
void func(int val = 0)
{
std::cout << "B->" << val << std::endl;
}
};
int main(int argc, char* argv[])
{
B*p = new B;
p->test();
return 0;
}
解析:B->1
绝不重新定义继承而来的缺省参数值!