




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 8 9 11 12 13 15!16 20 21 23 24 25 26 28 29 31 37 (三道没号的) 27 29 30 31 32 1 2 6 7 无号41 44 45 4 6 7 8 10 12 20 37 无号 30 31 331) 下列关于对象概念的描述中,(a)是错误的。 A. 对象就是C语言中的结构变量B. 对象代表着正在创建的系统中的一个实体 C. 对象是一个状态和操作(或方法)的封装体 D. 对象之间的信息传递是通过消息进行的2)#include #include void main()cout.fill(*);cout.width(10);cout123.45endl;cout.width(8);cout1234.45endl;cout.width(4);cout1234.45endl;程序运行的结果是(B)。 A. *123.45*1234.45 *1234.45B. *123.45*1234.45 1234.45C. *123.45*1234.45*1234.45 D. *123.45*1234.45*1234.453)分析下面的C+代码段:class Employeeprivate: int a; protected: int b; public: int c; ;class Director:public Employee;在Main()中,下列(c)操作是正确的。 a)Employee obj;obj.b=1;b)Director boj;obj.b=10;c)Employee obj;obj.c=3;d)Director obj;obj.a=20;4) #include#define SQR(x) x*xvoid main()int a=10,k=2,m=1;a/=SQR(k+m);couta;执行上面的C+程序后,a的值是(b)。(选择一项)a)10b)2c)9d)0不要忘了sqr中的x不是一个变量,编译器仅仅是把x替换为10+2,因此sqr(10+2)的结果是10+2*10+2,当然是32咯。为了避免这种情况,这样写就没问题了:#define sqr(x) ( (x) * (x) )本文出自 51CTO.COM技术博客5)在C+语言中,下列语句中,正确的是(d)。a)void main()coutx;int x=7;return 0;b)char *s=Hello,My world;delete s;c)类Time的析构函数:voidTime(int);d)在类Employee中声明如下的构造函数:Employee(const char *,const char *);e)类Time的部分定义:class Timepublic:int hour=0;int month=0;int second=0;6) 7)#include/This is my first programcoutMy first program in C+;这段C+程序的输出是(d)。a)My first program in C+b)This is my first programc)My first Program in Cd)None of the above8) #includeclass exampleprivate:static int num;public:example()num+;coutnum ;example()num-;coutnum ;int example:num=1;void main()example object1;example object2;上面程序的输出结果是(d)。a)1 1 1 1b)2 1 2 1c)2 2 3 2d)2 3 2 1e)1 2 1 29)在c+中下列声明之间有(B)不同。const int * myptr1=# int * const myptr2=#A. 根本没有不同B.不能用myptr1改变常整数的内容,然而可以用myptr2改变它指向的整数的内容C.不能用myptr2改变常整数的内容,然而可以用myptr1改变它指向的整数的内容 10)在C+中,一个函数为void f(int=1,char=a),另一个函数为void f(int),则它们(b)。a) 不能在同一程序中定义b) 可以在同一程序中定义并可重载c) 可以在同一程序中定义,但不可重载d) 以上说法都不正确11)C+ 基类中的private成员通过(d)类型的继承,可以被派生类访问。a)publicb)protectedc)privated)任何类型的继承都不能使得派生类可以访问基类的private成员12)下列概念()体现了面向对象的多态性。(b)a)虚基类b)虚函数c)对象容器d)封装13)#includeclass Onepublic: void display()cout1;class Two:public One public: void display()cout2display(); p=&second; p-display();在C+中,以上程序的运行结果为(c)。a)1 1 1 2b)1 2 1 2c)1 2 1 1d)2 1 1 21415)对于C+类class dateprivate:int day,month,year;public:void setdate(int,int,int);print();下列描述是正确的(d)。(选择两项)a)setdate()函数内参数没有写变量名,因而它是错误的;b)year是私有的,print()是公有的,setdate()可以访问day,而print()不能访问dayc)setdate()可以访问day,而print()不能访问dayd)setdate()可以访问day,而print()也可以访问day16)在C+中,可以重载的运算符有(d)。a)sizeof()b):c).*d)+17)#includeclass date private:int day ,month,year ;public:date()date(int x,int y,int z)day=x;month=y,year=z;void set()day=1;month=10;year=2002;void display()coutday/month/year;void main()date day1;date day2(10,10,2002);day1.set();day1.display();day2.display();上面C程序运行的结果是(b)。a)10/10/2002 1/10/2002b)1/10/2002 10/10/2002c)10/10/2002 10/10/2002d)1/10/2002 1/10/200218) #includeclass Apublic:A()coutA construct;class B:public Apublic:B():A()coutB constructendl;void main()B obj;上面的C+程序运行的结果是(b)。a)B construct A constructb)A construct B constructc)A construct d)B construct 19)class wheelint num;public: wheel (int w)num=w;class carwheel carWheel;public: /写出car的构造函数在C+中,上面程序中,空白处正确的语句是(b)。a)void car(int n):carWheel(n)b)car(int n): carWheel(n)c)void car(int n): carWheel(n)d)car(int n): carWheel(n)20)下面关于模版说法正确的是(a)。a)类模版提供了一种对类中类型进行参数化的方法; 在实例化模版类时,实际的数据类型会代替与类成员或方法相关联的类型参数b)类模版中必须包含类成员与类方法c)不可以用自定义的数据类型实例化一个模版类d)类模版中类方法的参数必须用占位符替代,而不能使用实际数据类型21)在类的说明符中,被指定为私有的数据可以被以下(c)访问。a)程序中的任何函数b)其他类的成员函数c)类中的成员函数d)派生类中的成员函数22)在C+程序中出现(c)情况时,将引发一个异常。a)在main 函数的结尾少了一个大括号b)for循环语法错误c)被零除或数组溢出d)数组没有被赋满值23)class Employeeprivate :int a ;protected:int b;public :int c;void display();class Director:public Employeepublic :void show();在C+中,以下操作正确的是(d)。a)void Employee:show()coutabcendl;b)void Director:display()coutabcendl;c)void Director:show()coutabcendl;d)void Director:show()coutbcendl;24)#includeclass Xprivate:int num;public: X(int intx)num=intx;X(X &Y) num=+Y.num;void disp()coutnum ;void main()X a(10);X b(a);a.disp();b.disp();在C+中,以上程序的运行结果为(c)。a)10 10b)10 11c)11 11d)11 1025)在C+中,下列类的成员函数(c)属于纯虚函数。A)void display();B)Virtual void display();C)Virtual void display()=0;D)Virtual void display()int a=0;26)C+中,下列关于继承的描述。(a)是错误的。a) 继承是基于对象操作的层面而不是类设计的层面上的b) 子类可以继承父类的公共行为c) 继承是通过重用现有的类来构建新的类的一个过程d) 将相关的类组织起来,从而可以共享类中的共同的数据和操作27) #include int &func(int &num) num+; return num; void main() int n1,n2=5; n1=func(n2); coutn1n2endl; 上面C+程序运行结果是(c).(选择一项) a) 56b) 65 c) 66d) 5528) #includeclass A public:A()A()coutA destroy; ; class B:public A public: B():A()B()coutB destroy; ; void main()B obj; 上面的C+程序运行的结果是(a)。 a) B destroy A destroy b) A destroy B destroy c) A destroy d) B destroy29)如果基类A 和A 的派生类B中都有成员函数func();要在派生类的func()中调用同名的基类的func()成员函数,下列(b)操作下正确的。a)func();b)A:func();c)B:func();d)A.func();30) #includeclass A public: virtualA()coutA ; ; class B:public A B()coutB ; ;void main()A*pObj=new B;delete pObj;上面的C+程序的运行结果是(d).a) Ab) Bc) A Bd) B A31) 在C+中,(b)一定不能创建类的对象和实例.a) 虚基类b) 抽象类c) 基类d) 派生类32)读下面C+程序:#includeclass linepublic:int color;int startx;class boxprivate:int upx,upy;int lowx,lowy;public:int color;int same_color(line a,box b);void set_color(int c)color = c;void define_line(int x,int y)startx = x;int (在此添入答案) same_color(line a,box b)if(a.color=b.color)return 1;return 0;在括号中添入(b),该程序才能正常运行.a) line:b) box:c) line-d) box-33)在c+中,定义了以下的一个类class examplePrivate: int data;Public: int set(int param);下列操作(d)是正确的a)example object;object.data=10;b)example object;data=object.set(10);c)example object;object.data=object.set(10)d)example object;34)读下面C+程序:#includeclass vehicleprotected: int wheels;public: vehicle(int in_wheels=4)wheels=in_wheels; int get_wheels() return wheels;void main()vehicle unicyclel;vehicle unicycle2(3);coutThe unickele1 hasunicyclel.get_wheels()wheel.n;coutThe unickele2 hasunicycle2.get_wheels() class A int num; public: A(int i)num=i; A(A &a)numa. num+; void print()coutnum; ; void main() A a(2),b(a); a. print(); b.print();A)2 3 B)3 3 C)3 2 D)2 2下面对静态数据成员的描述中,正确的是(A)A)静态数据成员是类的所有对象共享的数据B)类的每个对象都有自己的静态数据成员C)类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对象调用27)如果类A被说明成类B的友元,则(D)A)类A的成员即类B的成员B)类B的成员即类A的成员C)类A的成员函数不得访问类B的成员D)类B不一定是类A的友元(28)可以用p.a的形式访问派生类对象p的基类成员a,其中a是(d)A)私有继承的公有成员B)公有继承的私有成员C)公有继承的保护成员D)公有继承的公有成员29)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为(a)A)abcB)acbC)cabD)cba(30)下面关于虚函数的描述,错误的是(B)A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数C)虚函数可以是另一个类的友元函数,但不能是静态成员函数D)基类中说明的纯虚函数在其任何派生类中都必须实现(31)下面关于模板的描述,错误的是(A)A)函数模板和类模板的参数可以是任意的数据类型B)类模板不能直接使用,必须先实例化为相应的模板类然后定义了模板类的对象后才能使用C)函数模板不能直接使用,需要实例化为模板函数后才能使用D)类模板的成员函数都是模板函数(32)语句ofstream f(”SALARY. DAT,ios:app iios:binary);的功能是建立流对象f,试图打开文件SAL:aRY. D AT并与之连接,并且(A)A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B)若文件存在,将其置为空文件;若文件不存在,打开失败C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D)若文件存在,打开失败;若文件不存在,建立一个新文件(33)下面程序的运行结果是(C) #include void main() int num=1; int &ref=num: refref+2; coutnum; num=num+3; coutrefendl; A)13 B)16 C)36 D)33(35)下列程序的运行结果为(c)#include int i=0; class A public:A()i+; ;void main() A a,b3,*c; c=b; coutiendl;A)2 B)3 C)4 D)5()C+语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是(B)A)面向过程B)面向对象C)安全性D)复用性()C+语言的跳转语句中,对于break和continue说法正确的是()A)break语句只应用于循环体中B)continue语句只应用于循环体中C)break是无条件跳转语句,continue不是D)break和continue的跳转范围不够明确,容易产生问题(5)下面有关重载函数的说法中正确的是(C)A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同;C)重载函数必须有不同的形参列表D)重载函数名可以不同;)下列关于构造函数的描述中,错误的是(D)A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数;D)构造函数不可以重载()下面描述中,表达错误的是(B)A)公有继承时基类中的public成员在派生类中仍是public的B)公有继承是基类中的private成员在派生类中仍是private的C)公有继承时基类中的protected成员在派生类中仍是protected的D)私有继承时基类中的public成员在派生类中是private的在c+中,下列关于友元函数和成员函数的区别,(b)是正确的。a)都具有this指针b)友员函数不具有this指针,而成员函数则具有。c)友员函数的定义和成员函数的定义相同,都需要类名加上作用域算符:为前纵d)友员函数的定义与成员函数一样需要以类名加上作用域运算符:为前纵38在C+中,const关键字可以在函数的参数中使用,下列函数定义 () 是正确的。选两个a) void func(const char *str) str=this is a test b) void func(const int num) num=10 c) void func(const char*str)*str=c;d) void func(const int*num)int data=10;num=&data;39)#includeclass exampleprivate:static int num;public:example()num+;coutnum ;example()num-;coutnum ;int example:num=1;void main()example object1;example object2;上面C+程序的输出结果是()。(选择一项)a) 1111b) 2121c) 2232d) 2321e) 121240)在c+中,下列关于友元函数和成员函数的区别,(b)是正确的。a)都具有this指针b)友员函数不具有this指针,而成员函数则具有。c)友员函数的定义和成员函数的定义相同,都需要类名加上作用域算符:为前纵d)友员函数的定义与成员函数一样需要以类名加上作用域运算符:为前纵41在C+类的说明符中,被指定为私有的数据可以被以下()访问。(选择一项) a)程序中的任何函数 b)其他类的成员函数 c)类中的成员函数 d)派生类中的成员函数 42#include class A public:A()coutA construct;A()coutA constroy;class B:public Apublic:B():A()coutB construct;B():A()RAVSKYUPcoutB destroy;void main()B destroy;上面的C+程序运行的结果是()。(选择一项)a)B construct A construct B destroy A destroyb)A construct B construct A destroy B destroyc)A construct B construct B destroy A destroyd)B construct A construct A construct B construct43#includeclass sampleprivate:int a,b;public:sample(int x )a=x;b=1;coutx asmple(int x,int y)a=x;b=y;coutx+y ;sample()couta+b ;void main()sample obj1(1),obj2(1,2);上面C+程序的输出结果是()(选择一项)a)1 2 3 1b)1 3 2 1c)1 3 3 2d)1 3 2 344在C+中,下列关于虚函数的描述,()是正确的。(选择一项)a)虚函数实现了运行时的多态b)虚函数只能在基类中实现,而不能在派生类中实现c)虚函数不需要在基类中声明d)虚函数只能在派生类中声明45与传统的过程编程不同,面向对象方法的主要思想是( )。(选两项)a) 真实反映用户的实际需求b) 将现实世界的一些抽象为实体或对象c) 将现实世界细分为一个个过程化实现d) 将软件组织成为对象的集合,将数据结构和行为结合在一起一、 1.在()情况下适宜采用inline定义内联函数。 A.函数体含有循环语句 B.函数体含有递归语句 C.函数代码少、频繁调用 D.函数代码多、不常调用 2.在类中说明的成员可以使用关键字()进行修饰。 A.privateB.extern C.autoD.register 3.如果类A被说明成类B的友元,则()。 A.类A的成员即类B的成员 B.类B的成员即类A的成员 C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元 4.定义析构函数时,应该注意()。 A.其名与类名完全相同B.返回类型是void类型 C.无形参,也不可重载D.函数体中必须有delete语句 5.在类中声明转换函数时不能指定()。 A.参数B.访问权限 C.操作D.标识符 6.在派生类中重新定义虚函数时必须在()方面与基类保持一致。 A.参数类型B.参数名字 C.操作内容D.赋值 7.在公有继承的情况下,基类成员在派生类中的访问权限()。 A.受限制B.保持不变 C.受保护D.不受保护 8.通过()调用虚函数时,采用动态束定。 A.对象指针B.对象名 C.成员名限定D.派生类名 9.在inta=3,*p=&a;中,*p的值是()。 A.变量a的地址值B.无意义 C.变量p的地址值D.3 10.C+类体系中,不能被派生类继承的有()。 A.转换函数B.构造函数 C.虚函数D.静态成员函数 11.假定一个类的构造函数为A(intaa,intbb)a=aa+;b=a*bb+;,则执行Ax(4,5);语句后,x.a和x.b的值分别为()。 A.4和5B.5和4 C.4和20D.20和5 12.假定AB为一个类,则执行ABx;语句时将自动调用该类的()。 A.有参构造函数B.无参构造函数 C.拷贝构造函数D.赋值构造函数 13.C+语言建立类族是通过()。 A.类的嵌套B.类的继承 C.虚函数D.抽象类 14.执行语句序列ofstreamoutf(“SALARY.DAT”);if(.)cout“成功”;elsecout“失败”;后,如文件打开成功,显示”成功”,否则显示”失败”.由此可知,上面if语句的条件表达式是()。 A.!outf或者outf.fail() B.!outf或者outf.good() C.outf或者outf.fail() D.outf或者outf.good() 15.静态成员函数不能说明为()。 A.整型函数B.浮点函数 C.虚函数D.字符型函数 16.在C+中,数据封装要解决的问题是()。 A.数据规范化排列B.数据高速转换 C.避免数据丢失D.保证数据完整性 17.在C+中有以下4条语句:staticinthot=200;int&rad=hot;hot=hot+100;coutRADENDL; 执行这 4 条语句后输出为: ( ) 。  A.0B.100 C.300D.200 18.如果class类中的所有成员在定义时都没有使用关键字pubilc,private,protected,则所有成员缺省定义为:()。 A.publicB.protected C.privateD.static 19.C+设置虚基类的目的是()。 A.消除二义性B.简化程序 C.提高运行效率D.减少目标代码 20.实现运行时的多态性用()。 A.重载函数B.构造函数 C.析构函数D.虚函数4) #include#define SQR(x) x*xvoid main()int a=10,k=2,m=1;a/=SQR(k+m);couta;执行上面的C+程序后,a的值是(b)。(选择一项)a)10b)2c)9d)09)在c+中下列声明之间有(B)不同。const int * myptr1=# int * const myptr2=#A. 根本没有不同B.不能用myptr1改变常整数的内容,然而可以用myptr2改变它指向的整数的内容C.不能用myptr2改变常整数的内容,然而可以用myptr1改变它指向的整数的内容12)下列概念()体现了面向对象的多态性。(b)a)虚基类b)虚函数c)对象容器d)封装13)#includeclass Onepublic: void display()cout1;class Two:public One public: void display()cout2display(); p=&second; p-display();在C+中,以上程序的运行结果为(c)。a)1 1 1 2b)1 2 1 2c)1 2 1 1d)2 1 1 216)在C+中,可以重载的运算符有(d)。a)sizeof()b):c).*d)+17)#includeclass date private:int day ,month,year ;public:date()date(int x,int y,int z)day=x;month=y,year=z;void set()day=1;month=10;year=2002;void display()coutday/month/year;void main()date day1;date day2(10,10,2002);day1.set();day1.display();day2.display();上面C程序运行的结果是(b)。a)10/10/2002 1/10/2002b)1/10/2002 10/10/2002c)10/10/2002 10/10/2002d)1/10/2002 1/10/200220)下面关于模版说法正确的是(a)。a)类模版提供了一种对类中类型进行参数化的方法; 在实例化模版类时,实际的数据类型会代替与类成员或方法相关联的类型参数b)类模版中必须包含类成员与类方法c)不可以用自定义的数据类型实例化一个模版类d)类模版中类方法的参数必须用占位符替代,而不能使用实际数据类型22)在C+程序中出现(c)情况时,将引发一个异常。a)在main 函数的结尾少了一个大括号b)for循环语法错误c)被零除或数组溢出d)数组没有被赋满值24)#includeclass Xprivate:int num;public: X(int intx)num=intx;X(X &Y) num=+Y.num;void disp()coutnum ;void main()X a(10);X b(a);a.disp();b.disp();在C+中,以上程序的运行结果为(c)。a)10 10b)10 11c)11 11d)11 1031) 在C+中,(b)一定不能创建类的对象和实例.a) 虚基类b) 抽象类c) 基类d) 派生类34)读下面C+程序:#includeclass vehicleprotected: int wheels;public: vehicle(in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化产业运营主管资格考试试题及答案
- 2025年文化产业发展策略研究试卷答案
- 2025年卫星通信工程师职业技能考核试卷及答案
- 2025年网页设计师技能等级认证考试试卷及答案
- 2025年提供施工设备服务项目发展计划
- 2025年汽车自动天线项目发展计划
- 去年大同中考数学试卷
- 六年级上册试卷数学试卷
- 期末测试二上数学试卷
- 临沂河东区一模数学试卷
- 部编小学语文四年级上册第一单元大单元教学设计
- 《关爱女性健康》课件
- 关于女性生殖健康知识讲座
- 香料改扩建项目环境影响报告书
- 全国新闻记者职业资格考试一本通
- 银行系统的廉洁文化建设
- 山西人文知识竞赛考试题库及答案(500题)
- 医疗器械操作规程
- 小学科学仪器室建设标准(二类)
- 5S管理知识之现场改善培训课件
- 产科手术病人的护理-胎头吸引术(妇产科护理课件)
评论
0/150
提交评论