面向对象实 验指 导书

上传人:w****i 文档编号:91182384 上传时间:2019-06-26 格式:DOC 页数:18 大小:129.50KB
返回 下载 相关 举报
面向对象实 验指 导书_第1页
第1页 / 共18页
面向对象实 验指 导书_第2页
第2页 / 共18页
面向对象实 验指 导书_第3页
第3页 / 共18页
面向对象实 验指 导书_第4页
第4页 / 共18页
面向对象实 验指 导书_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《面向对象实 验指 导书》由会员分享,可在线阅读,更多相关《面向对象实 验指 导书(18页珍藏版)》请在金锄头文库上搜索。

1、全国高等教育自学考试课程面向对象程序设计实践指导书一、 实践目的C+语言程序设计上机操作实验是本课程必不可少的实践环节。上机实验的目的是使考生熟悉用高级语言解题的全过程,加深对语言的理解,得到程序设计基本方法和技巧的训练,从而能真正掌握C+语言这种工具,来解决实际问题。二、 实践内容实验一 练习设计、使用类并熟悉C+编程环境1、 目的要求1 熟悉C+程序的开发环境Microsoft Visual C+ 6.0。2 掌握从编辑含有类的C+源文件、存取文件、编译文件到运行的全过程。3 掌握单步执行和调试C+程序的基本方法。4 初步掌握类的设计和使用类的对象。2、 实验内容1 调试下列程序,熟悉C+

2、环境的基本使用方法。 #include #define M_PI 3.14156 double cylinder(int ra, int hi);void main() int radius,high; double volume; cout “Please input two numbers:”radiushigh; volume=cylinder(radius,high); cout “radius:”radius “high:”highendl; cout “The volume is” volumeendl; double cylinder(int ra, int hi) return

3、 hi*M_PI*ra*ra;2 按下列要求编程并调试程序。建立用于完成复数算术运算的类Complex。编写一个程序测试该类。复数的形式如下:real+imaginary*I用浮点变量表示类中的私有数据成员。给类提供一个能够对所声明的对象初始化的构造函数。为了能够在不提供初始化值的情况下也能对对象初始化,构造函数中应该包含默认的值。给类提供能够完成如下功能的公有成员函数:两个复数相加,即实部和实部相加,虚部和虚部相加。两个复数相减,即实部和实部相减,虚部和虚部相减。以(a, b)的格式输出结果(a是实部,b是虚部)。3 按下列要求编程并调试程序。建立用于完成分数形式算术运算的类Rational

4、Number。编写一个程序测试该类的程序。用整数变量表示类的私有数据成员(即分子和分母)。该类的构造函数应该以最简分数形式存储数据。公有成员函数应该有以下功能:两个有理数相加,以最简分数形式保存结果。两个有理数相减,以最简分数形式保存结果。两个有理数相乘,以最简分数形式保存结果。两个有理数相除,以最简分数形式保存结果。以a/b的形式输出有理数。(a是分子,b是分母)以浮点形式输出有理数。4 按下列要求编程并调试程序。声明一个名为SimpleCircle的简单圆类,其数据成员int *itsRadius为一个指向其半径值的指针,设计对数据成员的各种操作,给出这个类的完整实现并测试这个类。5 按下

5、列要求编程并调试程序。编程求生日是星期几。(本题参考程序:)/* * * * * * * */类定义部分/* * * * * * * *#includestruct Date int month; int day; int year;class TdateType public: TdateType(Date b); /构造函数 void Modify(int m = 1,int d = 2,int y = 1999); /修改日期 void Next(); /明天 void Previons(); /昨天int Weekday(); /星期几 void Print(); /打印日期 prot

6、ected: Date a; /日期结构数据成员 int IsLeapYear(); /保护成员函数,是闰年否 int NonthEnd(int m); /某月的天数;/ * * * * * * * * * * * * * * * * * * * * * * * * */以下为类的成员函数实现部分/ * * * * * * * * * * * * * * * * * * * * * * * * *TdateType:TdateType(Date b)a.month = b.month;a.day = b.day;a.year = b.year; void TdateType:Modify(in

7、t m,int d,int y) a.month = m; a.day = d; a.year = y;void TdateType:Next()a.day +;if( a.day MonthEnd(a.month) ) a.day = 1; a.month + if ( a.month 12) a.month = 1;a.year +; void TdateType:Previous() a.day -; if ( a.day 1 ) a.month -;if (a.month 1 )a.month = 12;a.year -; a.day = MonthEnd(a.month); int

8、TdateType:IsLeapYear() return ( (a.year % 4 = = 0 & a.year % 100 != 0 ) | (a.year % 400 = = 0) )int TdateType:MonthEnd(int m) switch(m) case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 4: case 6: case 9: case 11:return 30; case 2: if (IsLeapYear() return 29; else return 28;

9、return 0; /needlessint TdateType:WeekDay() long n; n = (a.year 1) * 365; /直至去年的天数(不考虑闰年) n + = (a.year 1)/4; /以下3句考虑闰年数 n - = (a.year 1)/100; n + =(a.year 1)/400; for ( int i = 1;ia.month;i+) /本年直至上月的天数 n += monthEnd(i); n += a.day; /本月的天数 n % = 7; /折成星期几,若0,则为星期日 return n;void TdateType:Print() cou

10、t a.year”年” a.month”月” a.day”日” switch (WeekDay ( ) ) case 0:cout”Sunn”;break; case 1:cout”Monn”;break; case 2:cout”Tuen”;break; case 3:cout”Wedn”;break; case 4:cout”Thun”;break; case 5:cout”Frin”;break; case 6:cout”Satn”;break; / * * * * * * * * * * * * * * * * * * * * * * * /以下为应用程序部分/ * * * * * *

11、 * * * * * * * * * * * * * * * * * void main() Date a = (4,22,1999); TdateType oneday(a); oneday.Print(); oneday.Next(); oneday.Print(); oneday.Modify(2,15); oneday.Print(); oneday.Previous(); oneday.print();实验二 熟悉类的特征1、 目的要求1 掌握C+的类的基本组成及其派生方法;2 学会使用构造函数、析构函数及成员函数;3 掌握构造函数、析构函数及成员函数的调用顺序;4 进一步认识C+面向对象的程序设计机制。2、实验内容1按下列要求编程并调试程序。假设我们已开发了一个Location类,这个类描述屏幕上一个点的位置,成员函数用于计算两个点的距离。下面是Location类的头文件Location.h。/Location.h# if !defined(LOCATION_H)# define LOCATION_HClass Location private:int x,y;public:Location(int,int);int getX()r

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号