File tree Expand file tree Collapse file tree 4 files changed +49
-1
lines changed Expand file tree Collapse file tree 4 files changed +49
-1
lines changed Original file line number Diff line number Diff line change @@ -14,5 +14,7 @@ SOURCES += rationalnumber.cpp \
14
14
HEADERS += \
15
15
rationalnumber.h \
16
16
rationalnumberarray.h \
17
- pair.h
17
+ pair.h \
18
+ less.h \
19
+ greater.h
18
20
Original file line number Diff line number Diff line change
1
+ #ifndef GREATER_H
2
+ #define GREATER_H
3
+
4
+ #include " less.h"
5
+
6
+ template <class T > class Greater {
7
+
8
+ public :
9
+
10
+ bool operator ()(const T &left, const T &right){
11
+ Less<T> less;
12
+ // nicht kleiner && nicht gleich
13
+ bool lesser = less (left, right);
14
+ bool equal = !less (left, right) && !less (right,left);
15
+
16
+ return !lesser && !equal;
17
+ }
18
+
19
+ };
20
+
21
+
22
+ #endif // GREATER_H
Original file line number Diff line number Diff line change
1
+ #ifndef LESS_H
2
+ #define LESS_H
3
+
4
+
5
+ template <class T > class Less {
6
+
7
+ public :
8
+
9
+ bool operator ()(const T &left, const T &right){
10
+ return left < right;
11
+ }
12
+
13
+ };
14
+
15
+
16
+ #endif // LESS_H
Original file line number Diff line number Diff line change @@ -14,6 +14,8 @@ using namespace std;
14
14
15
15
// include your own header files here...
16
16
#include " pair.h"
17
+ #include " less.h"
18
+ #include " greater.h"
17
19
// #include "order.h"
18
20
// #include "tree.h"
19
21
// #include "map.h"
@@ -79,6 +81,12 @@ int testTemplates(void)
79
81
cout << " 2<3 == " << lessInt (2 ,3 ) << endl;
80
82
cout << " 4<3 == " << lessInt (4 ,3 ) << endl;
81
83
84
+ Greater<int > greaterInt;
85
+ assert ( greaterInt (4 ,3 ) == 1 );
86
+ assert ( greaterInt (3 ,4 ) == 0 );
87
+ assert ( greaterInt (3 ,3 ) == 0 );
88
+
89
+
82
90
#if 0 // move this line down while your implementation proceeds...
83
91
/////////////////////////////////////////
84
92
// TEST PAIR ORDER
You can’t perform that action at this time.
0 commit comments