Monkey(char n){cout< int main(){ Monkey p1,*p2; p2=new Monkey('X'); delete p2; return 0; } 运行这个程序的输出结果是 A)MYX B)MYMY C)MXY D)MXYY (29)有如下程序: #include Car(int i):weight(i){ } friend int Total(const Car &c.const Boat &b); // private: int weight; }; class Boat{ public: Boat(int i):weight(i){ } friend int Total(const Car &c,const Boat &b); private: int weight; }; int Total(const Car &c,const Boat &b){ //② return c.weight+b.weight; } int main(){ Car c(10); Boat b(8); cout<<\ return 0; } 下列关于程序的描述中,正确的是 A)程序编译正确 B)程序编译时语句①出错 C)程序编译时语句②出错 D)程序编译时语句③出错 ①③ (30)有如下程序: #include void Name(); void Show(); protected: int page; }; class Book:private Media{ public: void Print(){cout< int main(){ Book Bible; Bible.Name(); //② Bible.Print(); //③ Bible.Show(); //④ return 0; } 编译时有错误的是 A)语句① B)语句② C)语句③ D)语句④ (31)有如下程序: #include virtual void Show(){cout<<'B';} }; class Derived:public Base{ public: void Show(){cout<<'D';} }; int main(){ Base *p1=new Derived; Derived *p2=new Derived; p1->Show(); p2->Show(); delete p1; delete p2; return 0; } 运行这个程序的输出结果是 A)BB B)BD C)DB D)DD (32)有如下类定义: class Animal{ public: virtual void Name()=0; }; class Koala:public Animal{ public: void Name(){/*函数体略*/} }; 关于上述类定义,下列描述中错误的是 A)类Koala是类Animal的派生类 B)类Koala中的Name函数是一个虚函数 C)类Animal中的Name函数是一个纯虚函数 D)语句\能够建立类Animal的一个对象a (33)已知类MyClock中未显式定义构造函数,并重载了加法运算符,使得下面的语句 序列能够正确执行: MyClock c1,c2; //...... c2=c1+10; 由此可知,为类MyClock重载的\运算符函数的声明是 A)friend MyClock operator+(MyClock,int); B)friend MyClock operator+(MyClock,MyClock); C)friend MyClock operator+(int,MyClock); D)MyClock operator+(MyClock); (34)下列控制对齐方式的操作符中,错误的是 A)internal B)center C)left D)right (35)有如下程序: #include Mountain(int h=0):height(h){ } virtual char *GetName()const {return \山\ int GetHeight() const{return height;} }; class Lushan:public Mountain{ public: Lushan(int d):Mountain(d){ } char *GetName()const {return \庐山\ }; int main(){ Mountain *p= new Lushan(1000); cout< 运行这个程序的输出结果是 A)庐山海拔1000米 B)庐山海拔0米 C)山海拔1000米 D)山海拔0米 二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不 得分。 (1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元 素个数为_____1_____。 (2)设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。现经过一系列 入队与退队运算后,front=16,rear=15,则循环队列中有___2___个元素。 (3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是___3___ 。 (4)在将E-R图转换到关系模式时,实体和联系都可以表示成___4___ 。 (5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念 属于___5___。 (6)如果a为int型变量,b为double型变量,则表达式a+b的值的类型为___6___。 (7)break语句可用于循环语句和___7___语句中。 (8)如果P是指向一个动态数组空间的指针变量,则释放该数组空间的语句是___8____ 。 (9)如果一个函数在其函数体内直接或间接地调用自己,则该函数称为___9___函数。 (10)调用时不必提供参数的构造函数称为___10___构造函数。 (11)有如下程序: #include class Machine{ static int num; public: Machine(){num++;} static void showNum() {cout< int Machine::num=0; int main(){ Machine a[10],b; Machine::showNum(); return 0; } 运行这个程序的输出结果是___【11】___ 。 (12)类Base、Component和Derived的定义如下,请将横线处缺失部分补充完整。 class Base{ double data; public: Base(double d):data(d){ } }; class Component{ int data; public: Component(int d):data(d){ } }; class Derived:public Base{ Component com; char character; public: Derived(double a,int b,char c): //使用参数a初始化基类成员,使用参数b初始化成员对象com ___【12】___,character(c){ } }; (13)形状类Shape中包含一个纯虚函数draw,它无形参和返回值,则draw函数在 Shape类中的原型声明是___【13】___ 。 (14)正方形类的定义如下,请将横线处缺失部分补充完整。 class Square{ private: double width; public: Square(double w):width(w){} 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库历年全国计算机等级考试二级C++真题及答案(最新)(4)在线全文阅读。
相关推荐: