|
(23)下列描述中哪个是正确的。 A)私有派生的子类无法访问父类的成员 B)类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的 C)私有派生类不能作为基类派生子类 D)私有派生类的所有子孙类将无法继续继承该类的成员 (24)下列关于构造函数说法不正确的是 A)构造函数必须与类同名 B)构造函数可以省略不写 C)构造函数必须有返回值 D)在构造函数中可以对类中的成员进行初始化 (25)如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是 A)一元运算符 B)二元运算符 C)选项A)和选项B)都可能 D)重载错误 (26)在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是 A)一元成员运算符 B)二元成员运算符 C)一元友元运算符 D)选项B)和选项C)都可能 (27)下列关于模板的说法正确的是 A)模板的实参在任何时候都可以省略 B)类模板与模板类所指的是同一概念 C)类模板的参数必须是虚拟类型的 D)类模板中的成员函数全部都是模板函数 (28)表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是 A) showbase()和eof() B)showpoint()和eof() C)showpoint()和bad() D)showpoint()和good() (29)下面程序段的运行结果是 void main() { int t,a,b,c; a=1;b=2;c=2: while(a<b<c) {t=a;a=b;b=t;c--;} cout<<a<<”,”<<b<<”,”<<c; } A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1 (30)下列程序中画线处应填入的语句是 class Base { public: void fun(){cout<<”Base of fun”<<endl;} }; class Derived:public Base { void fun() { //显示基类的成员函数fun cout<<”Derived of fun”<<endl; }; A)fun(); B)Base. fun(); C)Base::fun();D)Base->fun-: (31)若定义int k=7,x=12;,则值为3的表达式是 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) (32)在位运算中,操作数每右移一位,其结果相当于 A)操作数乘以2 B)操作数除以2 C)操作数乘以4 D)操作数除以4 (33)有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a 之后的语句是 struct node { char data; struct node*next; }a,b,*p=&a,*q=&b; A)a. next=q; B)p. next=&b; C)p->next=&b; D)(*p).next=q; (34)一个类的友元函数能够访问该类的 A)私有成员 B)保护成员 C)公有成员 D)所有成员 (35)下面程序的输出结果是 #include<iostream. h> #include<string. h> void main() { char p1[10],p2[10]; strepy(p1,”abc”): strcpy(p2,”ABC”); char str[50]=”xyz”; strcpy(str+2,strcat(p1,p2)); cout<<str; } A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC 二、填空题(每空2分,共30分) 请将答案分别写在答题卡中序号为【1】~【15】的横线上,答在试卷上不得分。 (1)在树形结构中,树根节点没有 【1】 。 (2)Jackson结构化程序设计方法是英国的M. Jackson提出的,它是一种面向 【2】 的设计方法。 (3)面向对象的模型中,最基本的概念是对象和 【3】 。 (4)软件设计模块化的目的是 【4】 。 (5)数据模型按不同应用层次分成3种类型,它们是概念数据模型、 【5】 和物理数据模型。 (6)派生类的成员一般分为两部分,一部分是 【6】 ,另一部分是自己定义的新成员。 (7)以下程序输出的结果是 【7】 。 #include<]ostream. h> void main() { int a=5,h=4,c=3,d; d=(a>b>c); cout<<d; } (8)设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j-- k=i+j;语句后,k的值为 【8】 。 (9)如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是 【9】 。 (10)如果类B继承了类A,则称类A为类B的基类,类B称为类A的 【10】 。 (11)将x+y中的+运算符用友元函数重载应写为 【11】 。 (12)已知程序的结果为123,请填空 #include<iostream.h> template<class T> class A { public: Tx,y,z: void display(){cout<<x<<” ”<<y<<” ”<<z;} } void main() { <Int>al; 【12】 【13】 【14】 al.display(); } (13)下列程序段的输出结果是 【15】 。 cout<<fixed<<509.123456789<<endl;
一、选择题 (01)B (02)D (03)A (04)B (05)B (06)D (07)C (08)B (09)B (10)B (11)C (12)B (13)A (14)B (15)A (16)B (17)C (18)D (19)C (20)D (21)B (22)B (23)B (24)C (25)D (26)D (27)D (28)B (29)A (30)C (31)D (32)B (33)B (34)D (35)C 二、填空题 (1)【1】前件 (2)【2】数据结构 (3)【3】类 (4)【4】降低复杂性 (5)【5】逻辑数据模型 (6)【6】从基类继承的成员 (7)【7】0 (8)【8】10 (9)【9】friend void A(): (10)【10】派生类 (11)【11】 operator+(x,y) (12)【12】al.x=1; 【13】al.y=2; 【14】a1.z=3; (13)【15】509. 123457
共2页: 上一页 [1] 2 下一页
|