您现在的位置:学赛首页 > 自考学院 > 面向对象程序设计 > 正文
面向对象程序设计考试大纲[12]
http://www.educity.cn 作者:自考学院 来源:希赛网 2007年5月16日 发表评论 进入社区

(1)假设我们已开发了一个Location类,这个类描述屏幕上一个点的位置,成员函数用于计算两个点的距离。下面是Location类的头文件Location.h。
      // Location                                                           
      #if ! defined(LOCATION_H)
      #define LOCATION_H
      class Location{
           private:
               int X. Y:
           public:
               Location( int, int );
               int GetX(){return X;}
               int GetY(){return Y;}
               distance(Location&);
               ~Location( );
       }:
       #endif
   编写一个Location.app文件,给出没有实现的成员函数。要求在构造函数中给出创建不同对象时给出可供区别对象的信息,对析构函数的要求与此相同。测试点为(-10,⒛)和(-40, 60)。
(2)再用Location类来定义一个椭圆类ellipse,对构造函数和析构函数的要求与Location类相同。
(3)从椭圆类派生圆类circle,对构造函数和析构函数的要求与Location类相同。
(4)使用Location类的成员函数distance求屏幕上一个圆的圆心和一个椭圆圆心之间的距离。
    提示:circle类通过它所定义的成员函数circle裁剪了椭圆类ellipse。假设椭圆类的两个
轴分别为数据成员L1和I-2,circle类将ellipse的数据成员L1用作半径,而不使用L2。要注意维护circle类所描述的有关圆的概念:圆只有一个轴,称为半径。

实验三 多态性练习(6机时)
内容:编写含有虚函数和使用成员函数的程序。
要求:掌握由继承和虚函数获得多态性的方法,学会利用成员函数访问类的对象的私有成员。
(1)使用虚函数设计一个描述正方形的类Square,并具有求面积的成员函数getArea( )。从Square派生一个矩形类Rectangle,Rectangle也使用getArea()函数计算面积。提示:把正方形的其中一个边的成员函数设为虚函数,从而可以在Rectangle中重新按矩形的数据成员初始化该边的参数。
(2)有一个汽车类vehicle,将它作为基类派生小车类car,卡车类truck和轮船类boat,定义这些类并定义一个虚函数用来显示各类信息。
(3)设计一个菜单驱动程序,每一个菜单项都对应一个类以完成它的功能。定义一个抽象类作为所有这些菜单项的基类,在其中定义一个纯虚函数,作为所有菜单项类中完成一定功能的接口。

实验四 运算符重载和流类库的练习(4机时)
内容:编写含有运算符重载和流类库的程序。
要求:了解运算符重载的基础知识及流类库的概念,练习使用流类库进行文件存取。
参考题目:
(1)为complex类重载加、二元减和一元减三个友元运算符。
(2)重载“——”运算符。
(3)从一个整数组成的文件中读人一个整数,然后将其扩大一倍之后,存入另一个文件中。

实验五 模板的练习(2机时)
内容:编写使用函数模板的程序。
要求:了解函数模板的概念,练习编制函数模t反。
参考题目:
用模板函数实现三个数值中按最小值到最大值的排序程序。

实验六 综合练习(8机时)
内容:灵活使用C+十程序设计语言各成分,完成有实用意义的应用。
要求:学会编制结构清晰、风格良好、符合C+十程序设计语言规则,并能体现其优点的C++程序。
参考题目:
(1)调试第9章9.3节的2个例子并理解其实现原理。
(2)理解9.3.2中的格式输出控制。
(3)参考9.3.2节的例子重新设计9.3.1节例子中的Show ( )成员函数,并增加一个PrintData函数,实现PrintData(d)式的显示方式。

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  [11]  [12]