ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:23.38KB ,
资源ID:21415502      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21415502.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第1115章练习修改Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第1115章练习修改Word下载.docx

1、 int f; int a; f=25; void Seta (int x) a=x;D在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函数才能存取类中的私有数据。5、对类的构造函数和析构函数描述正确的是()。A. 构造函数可以重载,析构函数不能重载B. 构造函数不能重载,析构函数可以重载C. 构造函数可以重载,析构函数也可以重载D. 构造函数不能重载,析构函数也不能重载A6、类的析构函数的作用是( )。A.一般成员函数 B.类的初始化 C.对象初始化 D.删除对象7、对于结构中定义的成员,其默认的访问权限为( )。A.public B. protected C.priv

2、ate D. static8、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为( )。 A.public B. protected C.private D. statica9、下列有关类的说法不正确的是 。A.类是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有数据C.在类中(用class定义),如果不作特别说明,所有的数据均为私有数据D.在类中(用class定义),如果不作特别说明,所有的成员函数均为公有数据d(3)以下有关析构函数的叙述不正确的是( )A. 在一个类只能定义一个析构函数 B. 析构函数和构造函数一样可以有形参

3、C. 析构函数不允许用返回值 D. 析构函数名前必须冠有符号“”b10、以下有关类与结构体的叙述不正确的是( )A. 结构体中只包含数据;类中封装了数据和操作 B. 结构体的成员对外界通常是开放的;类的成员可以被隐藏C. 用struct不能声明一个类型名;而class可以声明一个类名D. 结构体成员默认为public;类成员默认为private11、以下叙述中不正确的是( )A. 一个类的所有对象都有各自的数据成员,它们共享函数成员B. 一个类中可以有多个同名的成员函数C. 一个类中可以有多个构造函数、多个析构函数D. 在一个类中可以声明另一个类的对象作为它的数据成员12、以下不属于构造函数特

4、征的是( )A. 构造函数名与类名相同 B. 构造函数可以重载C. 构造函数可以设置默认参数 D. 构造函数必须指定函数类型13、以下有关类和对象的叙述不正确的是( )A. 任何一个对象都归属于一个具体的类B. 类与对象的关系和数据类型与变量的关系相似C. 类的数据成员不允许是另一个类的对象D. 一个类可以被实例化成多个对象14、设有定义:class person int num; char name10;public: void init(int n, char *m); .;person std30;则以下叙述不正确的是( )A. std是一个含有个元素的对象数组B. std数组中的每一个

5、元素都是person类的对象C. std数组中的每一个元素都有自己的私有变量num和nameD. std数组中的每一个元素都有各自的成员函数init15、设有以下类的定义:class Ex int x; public:void setx(int t=0);若在类外定义成员函数setx(),以下定义形式中正确的是( )A. void setx(int t) . B. void Ex:setx(int t=0) . C. Ex:void setx(int t=0) . D. void Ex:setx() . 16、 假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )。A.O

6、neClass(OneClass p); B. OneClass& (OneClass p);C. OneClass(OneClass & p); D. OneClass (OneClass *p);17、下面对于友元函数描述正确的是( )。A.友元函数的实现必须在类的内部定义B.友元函数是类的成员C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员18、关于友元的描述中,( )是错误的。A 友元函数是成员函数,它被说明在类体内B 友元函数可直接访问类中的私有成员C 友元函数破坏封装性,使用时尽量少用D 友元类中的所有成员函数都是友元函数友元函数是非成员函数,在类体内说明了,在

7、类体外定义,定义和调用等同于一般的普通函数;由于它可以直接访问类的私有成员,因此破坏了类的封装性和隐藏性,尽量少用。19、拷贝构造函数具有的下列特点中,( )是错误的。A 如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的B 拷贝构造函数只有一个参数,并且是该类对象的引用C 拷贝构造函数是一种成员函数D 拷贝构造函数的名字不能用类名如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的;拷贝构造函数只有一个参数,并且是该类对象的引用;拷贝构造函数的名字与类同名,并且不被指定返回类型;拷贝构造函数是一种成员函数。20、下面对静态数据成员的描述中,正确的是( )。A.静态数据成员可

8、以在类体内进行初始化B.静态数据成员不可以在类体内进行初始化C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用21、下面对静态数据成员的描述中,正确的是( )。A.静态数据成员是类的所有对象共享的数据B.类的每一个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象调用22、关于静态成员的描述中,( )是错误的。 静态成员可分为静态数据成员和静态成员函数 静态数据成员定义后必须在类体内进行初始化 静态数据成员初始化不使用其构造函数 静态数据成员函数中不能直接引用非静态成员静态成员可分为静态数据成员和静态成员函数;静态数

9、据成员被定义后,必须对它进行初始化,初始化在类体外进行,一般放在该类的实现部分最合适,也可以放在其他位置,例如,放在主函数前面等;静态数据成员初始化与该类的构造函数和析构函数无关;在静态成员函数的实现中,可以直接引用静态成员,但不能直接引用非静态成员。24、以下关于静态成员变量的叙述不正确的是( )A静态成员变量为类的所有对象所公有B静态成员变量可以在类内任何位置上声明C静态成员变量的赋初值必须放在类外D定义静态成员变量时必须赋初值25、 定义静态成员函数的主要目的是( )A方便调用 B有利于数据隐藏C处理类的静态成员变量 D便于继承26、以下叙述不正确的是( ) 使用静态数据成员:A可以节省

10、内存空间 B是为了解决数据共享问题C可以直接用类名来引用 D可以提高序运算速度二、填空题1、设有如下程序结构:class Box ;void main()Box A,B,C;该程序运行时调用 (1) 次构造函数;调用 (2) 次析构函数。(1)3 (2)3每创建一个对象自动调用一次构造函数,在这里创建了A、B、C三个对象,所以共调用了三次构造函数;每释放一个对象,系统自动调用一次析构函数,A、B、C对象释放时,分别调用析构函数,所以析构函数共调用了三次。2、设A为test类的对象且赋有初值,则语句test B(A); 表示 。将对象A复制给对象B。执行test B(A);语句相当于调用了默认复

11、制构造函数,将A对象的属性复制给B对象。例题10:利用“对象名.成员变量”形式访问的对象成员仅限于被声明为 (1) 的成员;若要访问其他成员变量,需要通过 (2) 函数或 (3) 函数。(1) public (2) 成员函数 (3)友元函数类体内的数据成员可声明为公有的、私有的和保护的,公有的数据成员可利用“对象名.成员变量”形式来进行访问;私有的数据成员能被类中的其他成员函数或友元函数所调用;保护的数据成员可以在类体中使用,也可以在派生类中使用,但不能在其他类外通过对象使用。三、改错题1、分析找出以下程序中的错误,说明错误原因,给出修改方案使之能正确运行。#includeclass one

12、int a1,a2;one(int x1=0, x2=0);one data(2,3); coutdata.a1endl;data.a2出错原因:构造函数参数表语法错;构造函数没有函数体;类的对象不能直接访问类的私有成员变量。改正后的程序如下: #include class one int a1, a2; one(int x1=0, int x2=0) a1=x1;a2=x2; int geta1() return a1; int geta2() return a2;data.geta1()data.geta2()2、分析以下程序的错误原因,给出修改方案使之能正确运行。#include gai

13、n()成员函数在类体外定义格式是:函数返回类型 类名:成员函数名(参数表);成员函数调用格式是:对象名.成员函数名(参数表)。class Amplifier float invol,outvol; Amplifier(float vin,float vout) invol=vin; float Amplifier:gain() return outvol/invol;amp.gain()3、下面的程序定义了一个Point类,找出程序中的错误语句并改正。 class Point int x; void Point(int a) x=a; int Getx()return x; void Show

14、() coutGetx()class part public: Part(char *pname=”no name”) strncpy(name,pname); noofpart+; no=noofpart;”create the no: ”noofpart”of part” Part() noofpart-;”destroy the no: static int number() return no; protected: static int noofpart=0; int no; char name40; Part p1; Part p2;5、 以下程序的功能是:利用友员函数为类的成员变

15、量进行初始化,然后利用成员函数输出。请改正程序中的错误,使之能正确运行。class A int a,b; friend void setval(int i,int j); void showA()a,bvoid setval(int i,int j)a=i; b=j;A obj1; setval(2,3); obj1.showA();四、写出程序运行结果1、下列程序的运行结果是 。class point int x,y; point(int a,int b)y=b;calling the constructor function. point(point &p); friend point m

16、ove(point q); point()coutcalling the destructor function.n; int getx() return x; int gety() return y;point:point(point &p)x=p.x; y=p.y;calling the copy_initialization constructor function.npoint move(point q)coutOK!n int i,j; i=q.x+10; j=q.y+20; point r(i,j); return r; point m(15,40),p(0,0); point n

17、(m); p=move(n);p=p.getx()p.gety()根据构造函数、拷贝构造函数和友元函数的特点,执行该程序后,输出结果是:calling the constructor function.calling the copy_initialization constructor function.OK!calling the destructor function.P=25,60说明:(1)构造函数执行三次,分别初始化主函数中的对象m,p和move函数中的对象r。(2)拷贝构造函数共执行了三次。第一次,初始化对象n;第二次在调用函数move()时,实参n给形参q进行初始化;第三次是执

18、行函数move的return r;语句时,系统用r初始化一个匿名对象时使用了拷贝构造函数。(3)析构函数执行了六次。在退出函数move时释放对象r和q共调用二次;返回主函数后,匿名对象赋值给对象p后,释放匿名对象又调用一次析构函数;最后退出整个程序时释放对象m,n和p调用三次。2、#include class Point int x,y; Point()x=1;y=1; Point()coutPoint x,y is deleted.Point a;运行结果为:Point 1,1 is deleted.3、 #include int count=0;class Point Point() x=

19、1;count+; Point() count-;friend void display();;void display() cout There are count points, Point a; display(); Point b5;There are 1 points,There are 6 points,4、#include class Csample int i;Csample( );void Display( );Csample();Csample:Csample( ) cout”Constructor”,”;i=0; void Csample:Display() cout”i

20、=”iCsample( ) cout”Destructor”void main( ) Csample a;a.Display( );Constructor,i=0,Destructor5、 #include class Csample int i; Csample() cout constructor1 Csample(int val) cout Constructor2i=val; void Display()i= Csample()Destructorgetch(); Csample a,b(10); a.Display();b.Display();Constructor1Construc

21、tor2i=-858993460i=10Destructor6、#includeprivate: int i; static int k; Csample( ); void Display( );int Csample:k=0;Csample( ) i=0; k+;void Csample:Display( ) cout”,k=”k Csample a,b;b.Display( );运行结果为:i=0,k=27、#includeclass test test(); test(int); test(); void display();protected: int n;test:test() cout”Constructing

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1