其中的四个函数定义中正确的是 A)① B)② C)③ D)④ (23)有如下程序: #include
getRef()const{ getValue()const{ set(int
return return
&a; a;
} } }
n)const{ a=n;
using namespace std; class Base {
public:
void fun() { cout<<\ };
class Derived : public Base { public: void fun() {
___________
cout<<\ } }; int main() {
Derived d; d.fun(); return 0; }
已知其执行后的输出结果为:
Base::fun Derived::fun
则程序中下划线处应填入的语句是 A)Base.fun(); B)Base::fun(); C)Base->fun(); D)fun();
(24)下面是重载为非成员函数的运算符函数原型,其中错误的是
A)Fraction operator + (Fraction, Fraction); B)Fraction operator - (Fraction);
C)Fraction& operator = (Fraction&, Fraction); D)Fraction& operator += (Fraction&, Fraction);
(25)有如下函数模板:
template T cast(U u) { return u; }
其功能是将 U 类型数据转换为 T 类型数据。已知 i 为 int 型变量,下列对模板函数 cast 的调用中正确的是 A)cast(i); B)cast<>(i);
C)cast(i); D)cast(i); (26)若磁盘上已存在某个文本文件,其全路径
文件名为 d:\\ncre\\test.txt,下列语句中不能打开该文件的是
A)ifstream file(\ B)ifstream file(\
C)ifstream file; file.open(\ D
)
ifstream*
pFile
=
new
ifstream(\ (27)有如下类定义: class Foo {
public:
Foo(int v) : value(v) { } // ① ~Foo() { } // ② private:
Foo() { } // ③ int value = 0; // ④ };
其中存在语法错误的行是 A)① B)② C)③ D)④
(28)有如下类定义:
class Point {
int x_, y_; public:
Point(): x_(0), y_(0) { }
Point(int x, int y =0): x_(x), y_(y) { } };
若执行语句
Point a(2), b[3], *c[4];
则 Point 类的构造函数被调用的次数是 A)2 次 B)3 次 C)4 次 D)5 次 (29)有如下类定义: class Test { public:
Test() { a = 0; c = 0; } // ① int f(int a) const { this->a = a; } // ② static int g () { return a; } // ③ void h(int b) { Test::b = b; }; // ④ private: int a;