欢迎来到天天文库
浏览记录
ID:51351092
大小:66.00 KB
页数:9页
时间:2020-03-22
《VC++习题参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章C++面向对象程序设计2.1类和对象1.什么是类?类的定义格式?类的成员一般分为哪两部分?它们的区别如何?⑴“类”是对具有共同的属性特征和行为特征的对象的概括和抽象。⑵类的定义格式:class类名{[private:]私有数据成员和成员函数public:公有数据成员和成员函数};⑶类的成员一般分为数据成员和成员函数两部分。⑷数据成员一般用来表示对象属性特征,而成员函数一般表示了对象的可以进行的操作,即行为特征。2.类与结构体有什么区别?类中可以包含两类成员――数据成员和成员函数;而标准C语言中的结构体只能包含数据成员;但是C++中的结构体对C语言中的结构体有
2、扩展,C++中的结构体也可以两类成员――数据成员和成员函数;因此C++中的类和C++中的结构体出来在定义方式上不一样之外(class,struct),还有就是它们的缺省封装字是不一样的,一个是private,一个是public。3.什么是对象?如何定义一个对象?对象的成员如何表示?⑴对象是类的实例,是类的变量。⑵对象的定义:类名对象名称;或:类名*对象指针;⑶对象成员的表示:对象名称.成员名字;或:对象指针→成员名字;4.什么是构造函数?构造函数有哪些特点?构造函数是类的成员函数,它有以下特点:u构造函数的名字必须与类名相同。构造函数可以有任意的形参,但不能具有返
3、回值。定义对象时,编译系统会自动地调用构造函数。构造函数可以重载5.什么是析构函数?析构函数有哪些特点?析构函数也是类的成员函数,它有以下特点:u析构函数名也应与类名相同,只是在函数名前面加一个波浪符~。u析构函数不能带任何参数,也没有返回值。u每个类有而且只能有一个析构函数。析构函数不能重载。6.什么是默认构造函数和默认析构函数?假如用户没有自己编写构造函数或析构函数,编译系统也会自动生成一个构造函数和析构函数,这就是默认的构造函数和析构函数,但是这两个函数没有任何参数,也不进行任何操作。7.什么是复制构造函数?它的功能和特点是什么?复制构造函数是一种特殊的构造
4、函数,它用来在已存在的对象基础上建立一个新对象。复制构造函数的名称也和类名是一样的,但是它的形式参数,都是指向一个已经存在的对象,因此它的形式参数都是这种形式:“const类名&ob”,即是一个对象的引用。9.如何对对象进行初始化?对象的初始化都是通过构造函数进行的,只要在声明对象时,逐个添好构造函数的实参。11.什么是this指针?它有何作用?一个类可以同时有很多对象存在,许多不同的对象可以调用相同的成员函数,编译系统为了知道当前是那个对象在调用成员函数,因此定义了this指针,this指针其实就是指向当前对象的指针。12.什么是类的作用域?对象的生存期有何不同
5、?类的作用域简称类域,它是指在类的定义中由一对花括号所括起来的部分,每一个类都具有相应的类域。类域中定义的变量不能使用auto,register和extern等修饰符,只能用static修饰符,函数也不能用extern修饰符。所谓对象的生存期是指对象从被创建开始到被释放为止的时间,按生存期的不同对象可分为如下三种: 1、局部对象:当对象被定义时调用构造函数,该对象被创建,当程序退出定义该对象所在的函数体或程序块时,调用析构函数,释放该对象。 2、静态对象:当程序第一次执行所定义的静态对象时,该对象被创建,当程序结束时,该对象被释放。 3、全局对象:当程序开始
6、时,调用构造函数创建该对象,当程序结束时调用析构函数释放该对象。2.2继承和派生类20.派生类是如何定义的?它有哪些特点?⑴定义派生类的一般形式为:class派生类名:[引用权限]基类名{派生类新增的数据成员派生类新增的成员函数};⑵派生类继承了基类的所有数据成员和成员函数,并增加新的成员。21.派生类的继承方式有哪些?它们各有哪些特点?这是继承技术中比较关键的问题。从基类继承来的成员的引用,不是简单地把基类的私有成员和公用成员直接作为派生类的私有成员和公用成员来使用,而要根据基类成员的“封装权限”和派生类声明的“引用权限”共同决定。①当引用权限为public时,
7、称为“公用派生类”。在公用派生类中,基类的public成员和protected成员仍然成为派生类中的public成员和protected成员;然而基类中的私有成员却成为了派生类中的“不可访问的成员”,不能被派生类使用。②当引用权限为private时,称为“私有派生类”。在私有派生类中,基类的公用成员和保护成员成为了派生类中的私有成员,基类的私有成员成为派生类“不可访问的成员”。③从以上两点可以看出,基类中的私有成员在派生类中都成为了“不可访问的成员”。因此在继承中经常使用另外一种封装字protected,被protected封装的成员称为“保护成员”,保护成员和私
8、有成员相似
此文档下载收益归作者所有