主题:求教各位前被们关于一个类与数据抽象的问题
大家好,我是刚刚加入的初学者.在学习c++大学教程第二版中遇到一个关于类与数据抽象的问题。
就是程序范例在扫描过程中缺少某部分代码导致无法进行,望各位好心人帮帮忙修正,万分感激!
题目要求:
图6.3使用Time类。程序实例化Time类的一个对象t。当对象实例化时,Time构造函数自动调用,显式地将每个private数据成员初始化为0。然后按军用格式和标准格式打印时间,确保成员已经正确地初始化。然后用setTime成员函数设置时间,并再次按两种格式打印时间。接着用setTime成员函数设置时间为无效值.并再次按两种格式打印时间。
待改内容:
图6.3使用Time类。程序实例化Time类的一个对象t。当对象实例化时,Time构造函数自动调用,显式地将每个private数据成员初始化为0。然后按军用格式和标准格式打印时间,确保成员已经正确地初始化。然后用setTime成员函数设置时间,并再次按两种格式打印时间。接着用setTime成员函数设置时间为无效值.并再次按两种格式打印时间。
1 // Fig. 6.3: fig06_03.cpp
2 // Time class.
3 #include <iostream.h>
4
5 // Time abstract data type (ADT) definition
6 class Time {
7 public:
8 Time(); // Constructor
9 void setTime( int, int, int ); // set hour, minute, second
10 void printMilitary(); // print military time format
11 void printStandard(); // print standard time format
12 private:
13 int hour; // 0 - 23
14 int minute; // 0 - 59
15 int second; // 0 - 59
16 };
17
18 // Time tructor initiali ...... h data membertt~tzer~'-st t
19 // Ensures all Time objects start in a conchs en s a e.
21
22 // Set a new Time value using military time. Perform validity
25 {
26 hour=e ( h >= 0 && h < 24 ) ? h : 0;
minut = ( m >= 0 && m < 60 ) ? m : 0;
28 second = ( s >= 0 && s < 60 ) ? s : 0;
29}
31 // Print Time in military format
32 void Time::printMilitary()
35 << ( minute < 10 ? "0" : "" ) << minute;
37
38 // Print Time in standard format
39 void Time::printStandard()
4O {
41 cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )
42 << ":" << ( minute < 10 ? "0" : .... ) << mlnu e
43 << ":" << ( second < 10 ? "0" : "" ) << second
44 << ( hour < 12 ? "AM" : "PM" );
45 }
46
47 // Driver)trna (in ...... imple class Time
48 int main()
49 {
50 Time t; // instantiate object t of class Time
51
52 cout << "The initial military time is ";
53 t.printMilitary();
54 cout << "\nThe initial standard time is ";
55 t.printStandard();
56
57 t.setTime( 13, 27, 6 );
58 cout << "\n\nMilitary time after setTime is ";
59 t.printMilitary();
60 cout << "\nStandard time after setTime is ";
61 t.printStandard();
62
63 t.setTime( 99, 99, 99 ); // attempt invalid settings
64 cout << "\n\nAfter attempting invalid settings:"
65 << "\nMilitary time: ";
66 t.printMilitary();
67 cout << "\nStandard time: ";
68 t.printStandard();
69 cout << endl;
70 return 0;
71 }
我知道这份内容比较长,看起来麻烦。但是我相信热情的您一定会帮我的!
就是程序范例在扫描过程中缺少某部分代码导致无法进行,望各位好心人帮帮忙修正,万分感激!
题目要求:
图6.3使用Time类。程序实例化Time类的一个对象t。当对象实例化时,Time构造函数自动调用,显式地将每个private数据成员初始化为0。然后按军用格式和标准格式打印时间,确保成员已经正确地初始化。然后用setTime成员函数设置时间,并再次按两种格式打印时间。接着用setTime成员函数设置时间为无效值.并再次按两种格式打印时间。
待改内容:
图6.3使用Time类。程序实例化Time类的一个对象t。当对象实例化时,Time构造函数自动调用,显式地将每个private数据成员初始化为0。然后按军用格式和标准格式打印时间,确保成员已经正确地初始化。然后用setTime成员函数设置时间,并再次按两种格式打印时间。接着用setTime成员函数设置时间为无效值.并再次按两种格式打印时间。
1 // Fig. 6.3: fig06_03.cpp
2 // Time class.
3 #include <iostream.h>
4
5 // Time abstract data type (ADT) definition
6 class Time {
7 public:
8 Time(); // Constructor
9 void setTime( int, int, int ); // set hour, minute, second
10 void printMilitary(); // print military time format
11 void printStandard(); // print standard time format
12 private:
13 int hour; // 0 - 23
14 int minute; // 0 - 59
15 int second; // 0 - 59
16 };
17
18 // Time tructor initiali ...... h data membertt~tzer~'-st t
19 // Ensures all Time objects start in a conchs en s a e.
21
22 // Set a new Time value using military time. Perform validity
25 {
26 hour=e ( h >= 0 && h < 24 ) ? h : 0;
minut = ( m >= 0 && m < 60 ) ? m : 0;
28 second = ( s >= 0 && s < 60 ) ? s : 0;
29}
31 // Print Time in military format
32 void Time::printMilitary()
35 << ( minute < 10 ? "0" : "" ) << minute;
37
38 // Print Time in standard format
39 void Time::printStandard()
4O {
41 cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )
42 << ":" << ( minute < 10 ? "0" : .... ) << mlnu e
43 << ":" << ( second < 10 ? "0" : "" ) << second
44 << ( hour < 12 ? "AM" : "PM" );
45 }
46
47 // Driver)trna (in ...... imple class Time
48 int main()
49 {
50 Time t; // instantiate object t of class Time
51
52 cout << "The initial military time is ";
53 t.printMilitary();
54 cout << "\nThe initial standard time is ";
55 t.printStandard();
56
57 t.setTime( 13, 27, 6 );
58 cout << "\n\nMilitary time after setTime is ";
59 t.printMilitary();
60 cout << "\nStandard time after setTime is ";
61 t.printStandard();
62
63 t.setTime( 99, 99, 99 ); // attempt invalid settings
64 cout << "\n\nAfter attempting invalid settings:"
65 << "\nMilitary time: ";
66 t.printMilitary();
67 cout << "\nStandard time: ";
68 t.printStandard();
69 cout << endl;
70 return 0;
71 }
我知道这份内容比较长,看起来麻烦。但是我相信热情的您一定会帮我的!