以下为《面向对象程序设计答案》的无排版文字预览,完整内容请下载
面向对象程序设计答案
一、单项选择题
1.A 2.C 3.B 4.A 5.C
6.C 7.D 8.C 9.A 10.C
11.B 12.B 13.B 14.C 15.D
16.D 17.C
二、简答题
1. 答:对象是一些相关的变量和方法的软件集。软件对象经常用于模仿现实世界中我们身边的一些真实对象。对象是理解面向对象技术的关键。你可以发现现实世界中的对象有两个共同特征:它们都有状态和行为。比如某条狗有自己的状态(比如名字、颜色、生育以及饥饿等等)和行为(比如摇尾巴等等)。同样某辆自行车也有自己的状态(比如当前档位、两个轮子等等)和行为(比如刹车、加速、减速以及改变档位等等)
2. 答:C中结构只含数据成员,不含成员函数;
C++中类即含数据成员,又含成员函数.
类定义中默认情况下的成员是private的,
而结构定义中的默认情况下的成员是public的
3. 答:类对其成员有三种存储控制
public 类内外均可见
protected 类内及派生类可见
private 只有类内可见
4. 答:C++程序的内存格局通常分为四个区:
*全局数据区(data area)
*代码区(code area)
*栈区(stack area)
*堆区(heap area)
全局变量、静态数据、常量存放在全局数据区,所有类成员函数和非成员函数存放在代码区,为运行函数而分配的局部变量、函数参数、返回数据、返回地址等存放在栈区,余下的空间被作为堆区。
5. 答:在默认的拷贝构造函数中,拷贝的策略是逐个成员依次拷贝,这种被称为浅拷贝。但是,一个类可能拥有资源,当其构造函数分配了一个资源(例如某个堆内存地址)的时候,会发生什么?如果拷贝构造函数简单地制作了一个该资源的引用的拷贝,而不对它本身分配,就得面临一个麻烦的局面:两个对象都拥有同一个资源。当对象析构时,该资源将经历两次资源返还。这个时候,我们在执行拷贝时,最好同时对资源本身进行复制,这种拷贝方法,我们称之为深拷贝。
6. 答:静态数据成员的主要应用场合为:
1) 用来保存流动变化的对象个数。
2)作为一个标志,用来指示一个特定的动作是否发生。
3)一个指向一个链表第一个成员或最后一个成员的指针。
7. 答:一个静态成员函数不与任何对象相联系,故不能对非静态成员进行默认的访问。
一个静态成员函数与非静态成员函数的根本区别在于,静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针this。例如:
class Sc{ public: void nsfn(int a);
static void sfn(int a);//…}
void f (Sc& s){ s.nsfn(10);//转化为Sc::nsfn(&s,10)
s.sfn(10);//转化为Sc::sfn(10) }
8. 答:分共有派生、私有派生和保护派生。共有派生中public protected 权限不变,private
变inaccessible .私有派生中 public 变 private ,protected private 变 inaccessible.
保护派生中 publ 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 c1.real - c2.real ;float i= c1.imag - c2.imag ;return complex(r ,i );}
complex operator - (complex& c ){return complex(-c.real,-c.img);}
void complex::print( ){cout请点击下方选择您需要的文档下载。
以上为《面向对象程序设计答案》的无排版文字预览,完整内容请下载
面向对象程序设计答案由用户“zhybian0512”分享发布,转载请注明出处