下载此文档

2025年C++复习参考及答案.pdf


文档分类:资格/认证考试 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
该【2025年C++复习参考及答案 】是由【小屁孩】上传分享,文档一共【14】页,该文档可以免费在线阅读,需要了解更多关于【2025年C++复习参考及答案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..君子忧道不忧贫。——孔丘选择题1、关键字(C)说明对象或变量初始化后不会被修改。..、如果调用带有默认参数的函数时缺少一个参数,则(D)参数就作为这一参数。、成员函数可声明为静态的,条件是它不访问(C)、内联函数执行起来比标准函数(B)。、默认参数的值由(A)提供。、在C++中,混合类型表达式(A)。、表达式long(intVar)也可表示为(C)。=long;(long)C.(long)、静态数据成员的生存期(A)。、要让一个类中的所有对象具有共同的数据,请使用(C)。、设置虚基类的目的是:(B)、C++是(C)。、面向对象程序设计思想的主要特征中不包括(D)。,逐步求精13、若定义:stringstr;当语句cin>>str;执行时,从键盘输入:!()所得的结果是str=(B)。!、下列语句中,将函数intsum(intx,inty)正确重载的是(C)。(intx,inty);(inta,intb);(floatx,floaty);(inty,intx);15、下列表示引用的方法中,(A)是正确的。:..非淡泊无以明志,非宁静无以致远。——诸葛亮已知:inta=1000;&x=a;&y;&z=1000;&t=&a;16、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A)。、下列有关C++类的说法中,不正确的是(D)。,如果不做特别说明,,如果不做特别说明,所有成员的访问权限均为公用的18、已知X类,则当程序执行到语句:Xarray[3];时,调用了(D)次构造函数。、下面说法中,正确的是(B),,,只是名字前加了一个求反符号(~),而析构函数不能指定任何返回类型,即使是void类型也不可以20、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,(A)是正确的。()const;();();(const);21、下面描述中,表达错误的是(B)、下面(B)的叙述不符合赋值兼容规则。、关于虚函数的描述中,(C)是正确的。,、下列关于静态数据成员的说法,不正确的是(C)。,,都必须在类外初始化:..非淡泊无以明志,非宁静无以致远。——、下面对模板的声明,正确的是(C)。<T><classT1,T2><classT1,classT2><classT1;classT2>26、下列的各类函数中,(C)、关于C++与C语言关系的描述中,(D)是错误的。++++++++语言和C语言都是面向对象的28、已知:intm=10;下列表示引用的方法中,(A)是正确的。&x=m;&y=10;&z;&t=&m;29、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是(A)。、已知X类,则当程序执行到语句X*array[3];时,调用了(A)次构造函数。、有关析构函数的说法,不正确的是(B)。、类定义的内容允许被其对象无限制地存取的是(C)。、关于常数据成员的说法,不正确的是(D)。,,、运用运算符delete删除一个动态对象时(C)。,,,,再为其调用析构函数35、,其中a是(D)。、在公用继承方式下,有关派生类对象和基类对象的关系,不正确的叙述是(C)。:..学而不知道,与不学同;知而不能行,与不知同。——、在C++中,用于实现动态多态性的是(D)。、不能说明为虚函数的是(B)。、如果一个类至少有一个纯虚函数,那么就称该类为(A)。、下列运算符中,(C)运算符在C++中不能被重载。A.&&B.[]C.::、模板的使用实际上是将类模板实例化成一个(C)。、假定MyClass为一个类,则该类的拷贝构造函数的声明语句为(C)。(MyClassx)&(MyClassx)(MyClass&x)(MyClass*x)43、编写C++程序一般需经过的几个步骤依次是(B)、调试、编译、、编译、连接、、调试、编辑、、编辑、连接、运行44、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(A)、对基类和派生类的关系描述中,错误的是(B)、C++,它在求解问题方法上进行的最大改进是(B)、下面描述中,表达错误的是(B)、对使用关键字new所开辟的动态存储空间,释放时必须使用(C)、设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是(A):..乐民之乐者,民亦乐其乐;忧民之忧者,民亦忧其忧。——《孟子》50、要让一个类中的所有对象具有共同的数据,请使用(C)。、C++是(C)。、一个类可包含析构函数的个数是(B)、在函数定义中的形参属于(B)、关于对象概念的描述中,说法错误的是(A)、下面叙述不正确的是(D)、在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的(A)、关于this指针使用说法正确的是(A),。。。58、所谓多态性是指(B)、假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为(A),Y;Y,,Y;X,,X;X,,X;Y,X60、假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为(B)()->aD.(*x).a()61、数下下列有关C++类的说法中,不正确的是(D)。:..以家为家,以乡为乡,以国为国,以天下为天下。——《管子》,如果不做特别说明,,如果不做特别说明,所有成员的访问权限均为公用的62、下列哪个类型函数不适合声明为内联函数(D)、下列关于类的权限的描述错误的是(A),(组合)64、在哪种派生方式中,派生类可以访问基类中的protected成员(B)、下列特性中不是面向对象程序设计语言所特有的是(D)。(A)数据封装(B)继承(C)多态性(D)模板66、(B)是给变量取一个别名,它引入了变量的同意词。(A)指针(B)引用(C)枚举(D)结构67、类成员的访问权限中,(C)只能被本类的成员函数和其友元函数访问。(A)share(B)public(C)private(D)protected68、关于构造函数,下列说法不正确的是(D)。(A)构造函数名字和类名相同(B)构造函数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个69、派生类可以访问其基类的(A)。(A)公有成员(B)保护成员(C)私有派生(D)公有和保护成员70、下列关于运算符重载的描述中,错误的是(B)。(A)运算符重载不可以改变操作数的个数(B)运算符重载不可以改变运算符的功能(C)运算符重载不可以改变结合方向(D)运算符重载不可以改变运算优先级71、C++,它在求解问题方法上进行的最大改进是(B):..人人好公,则天下太平;人人营私,则天下大乱。——刘鹗(A)面向过程(B)面向对象(C)安全性(D)复用性72、对于类中定义的成员,其隐含访问权限为(C)。、下面有关重载函数的说法中正确的是(C)(A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同;(C)重载函数必须有不同的形参列表(D)重载函数名可以不同;74、有如下的对类“CSample”的说明,其中(A)是错误的。classCSample{=23;();public:(intval);D.~CSample();75、在inta=3,int*p=&a;中,*p的值是(D)、每个类(C)构造函数。(A)只能有一个(B)只可有公有的(C)可以有多个(D)只可有缺省的77、在一个类中可以对一个操作符进行(D)重载。(A)1种(B)2种以下(C)3种以下(D)多种78、在公有继承的情况下,基类非私有成员在派生类中的访问权限(B)(A)受限制(B)保持不变(C)受保护(D)不受保护79、下面描述中,表达错误的是(B)(A)公有继承时基类中的public成员在派生类中仍是public的(B)公有继承是基类中的private成员在派生类中仍是private的(C)公有继承时基类中的protected成员在派生类中仍是protected的(D)私有继承时基类中的public成员在派生类中是private的80、定义析构函数时,应该注意(C)(A)其名与类名完全相同(B)返回类型是void类型(C)无形参,也不可重载(D)函数体中必须有delete语句81、对于在类中定义的静态数据成员,下面正确的说法是(C):..勿以恶小而为之,勿以善小而不为。——,也可以在类内初始化82、C++中声明常变量的关键字是(A)。(红色标记为答案)1、类和对象的关系可表述为:类是对象的抽象,而对象则是类的具体实例。2、在C++中,三种继承方式的说明符号为public、protected和private,如果不加以说明,则默认的继承方式为private3、如果只想保留公共基类的一个复制,就必须使用关键字virtual把这个公共基类声明为虚基类。4、若要把voidfun()定义为类A的友元函数,则应在类A的定义中加入语句friendvoidfun();。5、类的静态成员分为静态成员函数和静态成员数据。7、通过关键字template可以声明类模板,通过关键字numtype指定函数模板的类型参数,有几个类型参数就有几个类型关键字。8、列出C++中两种用户自定义的数据类型:class、vector。9、构造函数的作用是处理对象的初始化。10、静态成员函数没有隐含的this指针,所以,在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。11、在图1中,A,B,C,D,E,F均是类,其中属于单继承的派生类有C,属于多继承的派生类有D、F,类F的基类有DE,类A的派生类有DF。ABCDEF图1类的继承层次图12、从实现的角度来讲,多态性可以划分为两类:静态多态性和动态多态性。13、如果一个类包含一个或多个纯虚函数,则该类称为抽象类。14、列出C++中的两种代码复用方式:继承和组合或模板。15、析构函数的作用是在撤销对象占用的内存之前完成一些清理工作,使这部分:..博观而约取,厚积而薄发。——苏轼内存可以被程序分配给新对象使用。16、假定A是一个类名,则该类的拷贝构造函数的原型说明语句为:A(A&b)。,分别是public;private;protected。18指向类成员的指针包含指向类属性成员的指针和指向类成员函数的指针。19可以通过类名限定或者同名隐藏两种方式来解决二义性问题。20如果对象的生存期与程序的运行期相同,我们称它具有静态生存期。++提供的多重继承机制允许一个派生类继承多个基类,即使这些基类是相互无关的。,用new语句为其分配包含10个元素的地址空间(不用初始化),声明语句为:int*p=newint[10]delete[]p。23友元有两种表现形式友元函数、友元类。24派生类的生成过程包括从基类接受成员、调整从基类接受的成员、在声明派生类时增加的成员三个过程。25对象数组的每个数组元素都是一个对象,通过这个对象,便可访问到它的公有成员,一般形式是对象数组名[索引].公有成员。1、在C++中,函数的参数有两种传递方式,它们是值传递和地址传递。2、在C++中定义常变量经常用到的关键字是const。3、非类成员函数应声明为类的友元函数才能访问这个类的private成员。4、假定要访问一个指针p所指对象中的公有成员a,则表示方法为p->a。5、静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被该类的所有对象共享。6、多态性是面向对象的重要特征之一,在C++中的四种表现方式为强制多态、重载多态、类型参数化多态和包含多态。7、为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义析构函数。8、在C++中利用类向导创建一个名为Cpoint的类,则会自动产生类的声明文件和类的实现文件。9、在C++类中可以包含public、private和protected三种具有不同访问控制权:..子曰:“知者不惑,仁者不忧,勇者不惧。”——《论语》的成员。10、定义类时,在类头中将使用关键字class来表示类定义的开始。11、如果一个类中至少有一个纯虚函数,则该类称为抽象类。12、C++类的组成包括数据成员和成员函数,友元不是(是、不是)该类的成员函数。13、友员函数是用关键字friend修饰的非成员函数。14、若有:inti;int&j=i;i=10;j=i+1;则i=11,j=11。8、new的功能是动态分配内存空间,delete的功能是动态撤销内存空间。++中函数三种调用的方式实现机制、特点及其实参、形参的格式,最好用代码说明。选用函数参数类型的根本原则。1)使用传值方式传递非常小的对象。2)使用传常引用方式传递你不需要修改的大对象。3)让函数返回一个值,而不是修改通过量引用参数传递来的对象。4)只有迫不得已时才使用传引用方式。也就是说虽然可以通过函数的返回值修改原来的参数值,但是函数的返回值毕竟只有一个,如果需要在一个被调函数中同时修改主调函数的参数的值的话,则只能使用传引用变量的方式。此外使用传引用方式还针对对容器的操作,因为容器的拷贝代价不动态的,通过传值方式代价太大,通过传递常引用方式又不利于操作容器例如:#include<iostream>;voidswap(intx,inty);voidusingnamespacestdswapp(int*x,int*y);voidswappp(int&x,int&y);intmain(){inta=3,b=11;int*p=&a,*q=&b;int&m=a,&n=b;swap(a,b);cout<<"swap调用后后"<<"a="<<a<<"\t\t"<<"b="<<b<<endl;swapp(p,q);cout<<"swapp调用后后"<<"a="<<a<<"\t"<<"b="<<b<<endl;swappp(m,n);cout<<"swapp调用后后"<<"a="<<a<<"\t"<<"b="<<b<<endl;return0;}voidswap(intx,inty){cout<<"swap前"<<"x="<<x<<"\t"<<"y="<<y<<endl;inttemp;temp=x;x=y;y=temp;cout<<"swap后"<<"x="<<x<<"\t"<<"y="<<y<<endl;}voidswapp(int*x,int*y){cout<<"swapp前"<<"x="<<*x<<"\t"<<"y="<<*y<<endl;inttemp;temp=*x;*x=*y;*y=temp;cout<<"swapp前:..子曰:“知者不惑,仁者不忧,勇者不惧。”——《论语》"<<"x="<<*x<<"\t"<<"y="<<*y<<endl;}voidswappp(int&x,int&y){cout<<"swap前"<<"x="<<x<<"\t"<<"y="<<y<<endl;inttemp;temp=x;x=y;y=temp;cout<<"swap后"<<"x="<<x<<"\t"<<"y="<<y<<endl;}、指向一维数组的指针、指向对象的指针、指向类的数据成员的指针和指向类的成员函数的指针。、protected、public、internal修饰符的访问权限。?,?什么是析构函数?\多重继承?继承有什么好处?++++中,什么是函数重载C++允许在同一作用域中用同一函数名定义多个函数,这些函数的参数个数和:..士不可以不弘毅,任重而道远。仁以为己任,不亦重乎?死而后已,不亦远乎?——《论语》参数类型不相同,这些同名的函数用来实现不同的功能。这就是函数的重载,即一个函数名多用。“封装”,指两方面的含义:一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接受外界的消息。这种对外隐蔽的做法称为信息隐蔽。信息隐蔽还有利于数据安全,防止无关的人了解和修改数据。++,其属性为矩形的左下角与右上角两个点的坐标,能计算矩形的面积。,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。,包含的数据成员有车轮个数wheels和车重weight。小车类car是它的派生类,其中包含载人数passenger_load。每个类都有相关数据的输出方法。在主程序中定义一个car类对象,对其车轮个数、车重、载人数进行设置并显示。,area()为求图形面积的函数,total()则是一个通用的用以求不同形状的图形面积总和的函数。classShape{public:virtualdoublearea()=0;};:..天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为。——《孟子》doubletotal(Shape*s[],intn){doublesum=;for(inti=0;i<n;i++)sum+=s[i]->area();returnsum;}要求:(1)从Shape类派生圆类(Circle)、正方形类(Square),圆类新增数据成员半径(radius),正方形类新增数据成员边长(a),圆类和正方形类都有构造函数,修改、显示数据成员值的函数,求面积函数。(2)写出main()函数,(必须通过调用total函数计算)。,如果可以则输出它的面积和三角形类型(等边、等腰、直角三角形)。,其中有3个数据成员:学号、姓名、年龄,以及若干成员函数。同时编写main函数使用这个类,实现对学生数据的赋值和输出。,从键盘输入半径和高,输出圆柱体的底面积和体积。,公式为C=(F-32)*5/9;并在主函数中调用。,它包含两个数据成员length和width,以及包含用于求长方形面积的成员函数。再定义rectangle的派生类rectangular,它包含一个新的数据成员height和用来求长方体提及的成员函数。在main函数中,使用两个类,求某个长方形的面积和某个长方体的体积。(树)类,有成员ages(树龄),成员函数grow(intyears)用以对ages加上years,showage()用以显示tree对象的ages值。在主函数中定义Tree类对象,并调用成员函数。:..勿以恶小而为之,勿以善小而不为。——刘备

2025年C++复习参考及答案 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小屁孩
  • 文件大小428 KB
  • 时间2025-01-17
最近更新