体重这些信息。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象
是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这
个操作实际上可能由一系列更低级的操作来完成。数据抽象定义了数据类型和
施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和
观察。
2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提
供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个
过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子
类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方
法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。这也
体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用性问题。
比如说,所有的 Windows 应用程序都有一个窗口,它们可以看作都是从一个
窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,
这是由于派生出了不同的子类,各个子类添加了不同的特性。
3.封装:
封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程
和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这
个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对
象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必
要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表
示内部状态。在这个阶段定义对象的接口。通常,应禁止直接访问一个对象的
实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏
是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较
好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,
因而可以将应用程序修改带来的影响减少到最低限度。
4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把
两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择
编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化
多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优
势,很好的解决了应用程序函数同名问题。
9. 动态联编要满足哪两个条件?
调用的函数是虚函数、用指针或引用调用虚函数
10. 在 C++类中,有一种不能定义对象的类,这样的类只能被继承,称之
为 ( 抽象类 ) ,定义该类至少具有一个( 纯虚函数 ) 。
11. 在 C++类中,const 关键字可以修饰对象和成员函数,const 对象不
能( 调用类中的非 const 成员函数 ) ,const 成员函数不能 ( 修改类的
private 数据成员 ) 。
12. 举出 C++中两种代码复用的方式: ( 继承 ) 、 ( 复用 ) 。
假定 AA 为一个类,a 为该类公有的数据成员,px 为指向该类对象的一个指针,
则访问 px 所指对象中数据成员 a 的格式为( x.a )。;如果是静态成员,直
接 AA::a,对象为 x.a,指针访问为 x->a
14. 假定 AA 为一个类,int a()为该类的一个成员函数,若该成员函数在类定