2006-2007 学年第1 学期 2005 级《C++面向对象程序设计》期末考试试题(A 卷) 考试时间:2 0 0 7 年1 月1 3 日 班级 学号 0 9 4 3 0 4 1 0 0 0 姓名 田文熙 本试卷满分100分; 请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰; 请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸 一并交上来。 一、单选题(共 10 分,每题1 分) 1. C++中解决命名冲突的机制是:D (A) 虚基类 (B) 虚函数 (C) 函数重载 (D) 名字空间 2. 若类 A的一个对象所占的内存空间中包含虚函数表的入口地址,则: C (A) 类 A 不能有静态数据成员 (B) 类 A 中公有的成员函数一定是虚的 (C) 类 A 中至少有一个成员函数是虚的 (D) 类 A 的析构函数一定是虚的 3.任意一个类,析构函数的个数最多是:B (A) 不限个数 (B) 1 (C) 2 (D) 3 4. 下列关于 this 指针的说法,哪个是正确的: D (A) this 指针一定指向常量型数据 (B) this 指向的数据不可更改 (C) 静态成员函数中也可以访问this指针 (D) this指针本身可直接作为成员函数的返回值 5.在类定义中,为说明成员的访问权限,private, protected, public 可以出现次数为:A (A)次数没有具体限定 (B) 每种至多一次 (C) public 至少一次 (D) 每种至少一次 6.下面哪种定义方式是正确的,并且使得 p 可以作为函数 void f( A* const pp);的实参:A (A) A * p = new A; (B) A a; A* p = a; (C) const A* p = new A; (D) A a; const A* p = a; 7. obj 是类 A 的一个对象,执行语句 const A& aA= obj; ,则下列说法正确的是: C (A) 类 A 的拷贝构造函数会被调用 (B) 类 A 的赋值函数会被调用 (C) &aA 的值就是 &obj (D) 语句 obj.f( );等价于语句 aA.f( ); 8.下面关于访问类 A 的私有数据成员的说法,错误的是: C (A) 类 A 的友元函数可以访问类 A 的私有成员。 (B) 类 A 的友元类中的非静态成员函数可以访问类 A 的私有成员。 (C) 类 A 的嵌套类中的非静态成员函数可以访问类 A 的私有成员。 (D) 类 A 中的非静态成员函数可以访问类 A 的私有成员。 9.类 A 中有唯一的一个成员函数 f,且 f 是公有的静态或非静态成员函数,对于类 A 的一个对象 a,执行语句 a.f...