一、单项选择题 ( 在每题的四个备选答案中选出一种对的答案,并将其号码填在题干的括号内。每题 2 分,共 20 分 ) 1. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一种实体,这实体也就是 ( ) A. 类 B. 对象 C. 函数体 D. 数据块 2. 面向对象的程序设计语言必须具有的关键要素是 ( ) A. 抽象和封装 B. 抽象和多态性 C. 抽象、封装、继承和多态性 D. 抽象、封装和继承性 3. 类的构造函数被自动调用执行的状况是在定义该类的 ( ) A. 组员函数时 B. 数据组员时 C. 对象时 D. 友元函数时 4. 设有函数模板 template Q Sum(Qx,Qy){ return(x)+(y); } 则下列语句中对该函数模板 错误 的使用是 ( ) A.Sum(10,2); B.Sum(5.0,6.7) ; C.Sum(15.2f,16.0f); D.Sum( ″ AB ″ , ″ CD ″ ); 5. 已知类 A 是类 B 的友元,类 B 是类 C 的友元,则 ( ) A. 类 A 一定是类 C 的友元 B. 类 C 一定是类 A 的友元 C. 类 C 的组员函数可以访问类 B 的对象的任何组员 D. 类 A 的组员函数可以访问类 B 的对象的任何组员 6. 假如体现式 ++i*k 中的“ ++ ”和“ * ”都是重载的友元运算符,则采用运算符函数调用格式,该体现式还可表达为 ( ) A.operator*(i.operator++(),k) B.operator*(operator++(i),k) C.i.operator++().operator*(k) D.k.operator*(operator++(i)) 7. 下列说法中对的的是 ( ) A. 类定义中只能阐明函数组员的函数头,不能定义函数体 B. 类中的函数组员可以在类体中定义,也可以在类体之外定义 C. 类中的函数组员在类体之外定义时必须要与类申明在同一文献中 D. 在类体之外定义的函数组员不能操作该类的私有数据组员 8. 若派生类的组员函数不能直接访问基类中继承来的某个组员,则该组员一定是基类中的 ( ) A. 私有组员 B. 公有组员 C. 保护组员 D. 保护组员或私有组员 9. 对基类和派生类的关系描述中, 错误 的是 ( ) A. 派生类是基类的详细化 B. 基类继承了派生类的属性 C. 派生类是基类定义的延续 D. 派生类是基类的特殊化 10. 类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func(),p 是一种指向类 A 对象的指针,则 p->A::func() 将 ( ) A. 调用类 A 中的函数 func() B. 调用类 B 中的函数 func() C. 根据 p...