Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Prog2
/
labor_peldak
/
lab_07.5
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
84ddd1cd
authored
Mar 29, 2021
by
Szeberényi Imre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixArray
parent
fd995c31
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
18 deletions
+21
-18
Alakzatlab3/alakzat3_main.cpp
+10
-10
Alakzatlab3/gen_array2.hpp
+11
-8
No files found.
Alakzatlab3/alakzat3_main.cpp
View file @
84ddd1cd
...
@@ -12,10 +12,9 @@
...
@@ -12,10 +12,9 @@
* >= 6 - Szakasz klónozható
* >= 6 - Szakasz klónozható
* >= 7 - Rajztabla is másolható, de csak szakaszt teszünk bele.
* >= 7 - Rajztabla is másolható, de csak szakaszt teszünk bele.
* >= 8 - Szorgalmi: Rajztabla is másolható. Poligon is klónozható.
* >= 8 - Szorgalmi: Rajztabla is másolható. Poligon is klónozható.
*
>= 9 - Rajztabla fixArray sablont használ
*
== 9 - Rajztabla generikus tömböt használ.
*/
*/
#define ELKESZULT 1
#define ELKESZULT 0
#include <iostream>
#include <iostream>
#include <fstream>
#include <fstream>
#include "gtest_lite.h"
#include "gtest_lite.h"
...
@@ -122,7 +121,7 @@ int main(int argc, char** argv) {
...
@@ -122,7 +121,7 @@ int main(int argc, char** argv) {
}
ENDM
}
ENDM
#endif
#endif
#if ELKESZULT
=
= 5
#if ELKESZULT
>
= 5
TEST
(
Rajztabla
,
Poligonal
)
{
TEST
(
Rajztabla
,
Poligonal
)
{
Rajztabla
tabla
;
Rajztabla
tabla
;
tabla
.
felrak
(
new
Szakasz
(
Pont
(
20
,
40
),
100
,
0
,
WHITE
));
tabla
.
felrak
(
new
Szakasz
(
Pont
(
20
,
40
),
100
,
0
,
WHITE
));
...
@@ -135,7 +134,7 @@ int main(int argc, char** argv) {
...
@@ -135,7 +134,7 @@ int main(int argc, char** argv) {
}
ENDM
}
ENDM
#endif // ELKESZULT
#endif // ELKESZULT
#if ELKESZULT
=
= 6
#if ELKESZULT
>
= 6
TEST
(
Szakasz
,
clone
)
{
TEST
(
Szakasz
,
clone
)
{
Szakasz
*
psz1
=
new
Szakasz
(
Pont
(
20
,
40
),
100
,
0
,
WHITE
);
Szakasz
*
psz1
=
new
Szakasz
(
Pont
(
20
,
40
),
100
,
0
,
WHITE
);
cout
<<
*
psz1
<<
endl
;
cout
<<
*
psz1
<<
endl
;
...
@@ -172,7 +171,7 @@ int main(int argc, char** argv) {
...
@@ -172,7 +171,7 @@ int main(int argc, char** argv) {
}
ENDM
}
ENDM
#endif // ELKESZULT
#endif // ELKESZULT
#if ELKESZULT
=
= 8
#if ELKESZULT
>
= 8
TEST
(
Rajztabla
,
assign
.
full
)
{
TEST
(
Rajztabla
,
assign
.
full
)
{
Rajztabla
tabla
;
Rajztabla
tabla
;
tabla
.
felrak
(
new
Szakasz
(
Pont
(
20
,
40
),
100
,
0
,
WHITE
));
tabla
.
felrak
(
new
Szakasz
(
Pont
(
20
,
40
),
100
,
0
,
WHITE
));
...
@@ -198,14 +197,15 @@ int main(int argc, char** argv) {
...
@@ -198,14 +197,15 @@ int main(int argc, char** argv) {
}
ENDM
}
ENDM
#endif // ELKESZULT
#endif // ELKESZULT
/// Itt a vége
/// Itt a vége
if
(
ELKESZULT
<
5
&&
!
gtest_lite
::
test
.
fail
())
if
(
ELKESZULT
<
5
&&
!
gtest_lite
::
test
.
fail
())
ADD_FAILURE
()
<<
"
\n
Legalabb ELEKSZULT == 5-ig oldja meg a feladatokat!
\n
"
;
ADD_FAILURE
()
<<
"
\n
Legalabb ELEKSZULT == 5-ig oldja meg a feladatokat!
\n
"
;
if
(
ELKESZULT
>=
10
&&
!
gtest_lite
::
test
.
fail
())
if
(
ELKESZULT
>=
9
&&
!
gtest_lite
::
test
.
fail
())
std
::
cout
<<
"
\n
Szuper! Mind kesz"
<<
std
::
endl
;
std
::
cout
<<
"
\n
Szuper! Mind kesz"
<<
std
::
endl
;
else
else
std
::
cout
<<
"
\n
EKESZULT = "
<<
ELKESZULT
<<
std
::
endl
;
std
::
cout
<<
"
\n
EKESZULT = "
<<
ELKESZULT
<<
std
::
endl
;
GTEND
(
std
::
cerr
);
// Csak C(J)PORTA működéséhez kell
GTEND
(
std
::
cerr
);
// Csak C(J)PORTA működéséhez kell
...
...
Alakzatlab3/gen_array2.hpp
View file @
84ddd1cd
#ifndef GEN_ARRAY2_HPP
#
ifndef
GEN_ARRAY2_HPP
#define GEN_ARRAY2_HPP
#define GEN_ARRAY2_HPP
/**
/**
* \file gen_array2.hpp
* \file gen_array2.hpp
...
@@ -14,17 +14,20 @@
...
@@ -14,17 +14,20 @@
/// Generikus tömb sablon
/// Generikus tömb sablon
/// @param T - adattípus
/// @param T - adattípus
/// @param s - méret
/// @param s - méret
template
<
class
T
,
unsigned
int
s
>
// sablon kezdõdik
template
<
class
T
,
unsigned
int
s
>
// sablon kezdodik
class
Array
{
// osztálysablon
class
fixArray
{
// osztálysablon
T
t
[
s
];
// elemek tömbje. s teplate parameter
T
t
[
s
];
// elemek tömbje. s template parameter
void
chk
(
size_t
i
)
const
{
if
(
i
>=
s
)
throw
"Indexelesi hiba"
;
}
public
:
public
:
/// Indexelés.
/// Indexelés.
/// @param i - index
/// @param i - index
/// @return - referencia az adott indexű elemre
/// @return - referencia az adott indexű elemre
/// @return - hiba esetén kivételt dob
/// @return - hiba esetén kivételt dob
T
&
operator
[](
unsigned
int
i
)
{
T
&
operator
[](
unsigned
int
i
)
{
if
(
i
>=
s
)
throw
"Indexelesi hiba"
;
chk
(
i
)
;
return
t
[
i
];
return
t
[
i
];
}
}
/// Indexelés konstans függvénye.
/// Indexelés konstans függvénye.
...
@@ -32,8 +35,8 @@ public:
...
@@ -32,8 +35,8 @@ public:
/// @return - referencia az adott indexű elemre
/// @return - referencia az adott indexű elemre
/// @return - hiba esetén kivételt dob
/// @return - hiba esetén kivételt dob
const
T
&
operator
[](
unsigned
int
i
)
const
{
const
T
&
operator
[](
unsigned
int
i
)
const
{
if
(
i
>=
s
)
throw
"Indexelesi hiba (const)"
;
chk
(
i
)
;
return
t
[
i
];
return
t
[
i
];
}
}
};
};
#endif
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment