C++习题答案-3

C++习题答案-3

ID:40524651

大小:87.50 KB

页数:9页

时间:2019-08-04

C++习题答案-3_第1页
C++习题答案-3_第2页
C++习题答案-3_第3页
C++习题答案-3_第4页
C++习题答案-3_第5页
资源描述:

《C++习题答案-3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章[3_1]类声明的一般格式是什么?答:类声明的一般格式如下:class类名{public:公有数据成员;公有成员函数;protected:保护数据成员;保护成员函数;private:私有数据成员;私有成员函数;};其中:class是声明类的关键字;类名是要声明的类的名字;后面的花括号表示出类声明的范围;最后的分号表示类声明结束。[3_2]构造函数和析构函数的主要作用是什么?它们各有什么特性?答:构造函数是一种特殊的成员函数,它主要用于为对象分配空间,进行初始化。构造函数具有一些特殊的性质:(1)构造函数的名字必须与类名相同(2)构造函数可以有

2、任意类型的参数,但不能指定返回类型。它有隐含的返回值,该值在系统内部使用。(3)构造函数是特殊的成员函数,函数体可写在类体内,也可写在类体外。(4)构造函数可以重载,即一个类中可以定义多个参数个数或参数类型不同的构造函数。(5)构造函数被声明为公有函数,但它不能象其它成员函数那样被显示地调用,它是在定义对象的同时被调用的。析构函数也是一种特殊的成员函数。它执行与构造函数相反的操作,通常用于撤消对象时的一些清理任务,如释放分配给对象的内存空间等。析构函数有以下一些特点:(1)析构函数与构造函数名字相同,但它前面必须加一个波浪号(~)(2)析构函数没有

3、参数,不能指定返回类型,而且不能重载。因此在一个类中只能有一个析构函数。(3)当撤消对象时,编译系统会自动地调用析构函数。[3_3]什么是对象数组?答:所谓对象数组是指每一数组元素都是对象的数组,也就是说,若一个类有若干个对象,我们把这一系列的对象用一个数组来存放。对象数组的元素是对象,不仅具有数据成员,而且还有函数成员。[3_4]什么是this指针?它的主要作用是什么?答:C++为成员函数提供了一个名字为this的指针,这个指针称为自引用指针。每当创建一个对象时,系统就把this指针初始化为指向该对象。每当调用一个成员函数时,系统就自动把this

4、指针作为一个隐含的参数传给该函数。不同的对象调用同一个成员函数时,C++编译器将根据成员函数的this指针所指向的对象来确定应该引用哪一个对象的数据成员。[3_5]友元函数有什么作用?答:友元函数不是当前类的成员函数,而是独立于当前类的外部函数,但它可以访问该类的所有对象的成员,包括私有成员和公有成员。通过友元函数可以在不放弃私有数据安全的情况下,使得类外部的函数能够访问类中的私有成员。当一个函数需要访问多个类时,友元函数非常有用,普通的成员函数只能访问其所属的类,但是多个类的友元函数能够访问相应的所有类的数据。此外,在某些情况,例如运算符被重载时

5、,需要用到友元函数。[3_6]假设在程序中已经声明了类point,并建立了其对象p1和p2。请回答以下几个语句有什么区别?答:(1)pointp1,p2;用带缺省参数的构造函数或不带参数的构造函数,定义了point类的2个对象p1和p2。(2)pointp2=p1;依据已存在的对象p1,用赋值形式调用拷贝构造函数,创建对象p2。(3)pointp2(p1);依据已存在的对象p1,用显示调用拷贝构造函数,创建对象p2(4)p2=p1;对象赋值语句,将对象p1数据成员的值拷贝到对象p2中。[3_7]B说明:C++中对构造函数有一些规定:不能带返回值;可

6、以不带参数;也可以缺省定义;但构造函数的名字与类名必须完全相同。[3_8]C说明:C++中没有限定private、public、protected的书写次序。但是,不能在类的声明中给数据成员赋初值,数据成员的数据类型也不能是register(寄存器类型),没有用private、public、protected定义的数据成员是私有成员。[3_9]C说明:C++中对析构函数也有一些规定:没有参数;不能重载;析构函数的名字是在类名前加“~”;析构函数不能指定返回类型。[3_10]B说明:构造函数的工作是在创建对象时执行的。[3_11]B说明:C++中规定

7、在建立对象前,就可以为静态数据成员赋值。同时规定在静态成员函数中不能使用this指针。静态成员函数在类外定义时,不需要用static前缀。静态成员函数即可以在类内定义也可以在类外定义[3_12]A说明:在C++中友元函数是独立于当前类的外部函数,一个友元函数可以同时定义为两个类的友元函数。友元函数即可以在类的内部也可以在类的外部定义,而在外部定义友元函数时,不必加关键字friend[3_13]A说明:由于友元函数可以直接访问对象的私有成员,所以友元的作用是提高程序运行的效率[3_14]B[3_15]A[3_16]B[3_17]B[3_18]答:运行

8、结果是:10,2030,4850,6870,8090,1611,120[3_19]答:运行结果是:Constructing

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。