Commit 84ddd1cd by Szeberényi Imre

fixArray

parent fd995c31
......@@ -12,10 +12,9 @@
* >= 6 - Szakasz klónozható
* >= 7 - Rajztabla is másolható, de csak szakaszt teszünk bele.
* >= 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 <fstream>
#include "gtest_lite.h"
......@@ -122,7 +121,7 @@ int main(int argc, char** argv) {
} ENDM
#endif
#if ELKESZULT == 5
#if ELKESZULT >= 5
TEST(Rajztabla, Poligonal) {
Rajztabla tabla;
tabla.felrak(new Szakasz(Pont(20,40), 100, 0, WHITE));
......@@ -135,7 +134,7 @@ int main(int argc, char** argv) {
} ENDM
#endif // ELKESZULT
#if ELKESZULT == 6
#if ELKESZULT >= 6
TEST(Szakasz, clone) {
Szakasz* psz1 = new Szakasz(Pont(20,40), 100, 0, WHITE);
cout << *psz1 << endl;
......@@ -172,7 +171,7 @@ int main(int argc, char** argv) {
} ENDM
#endif // ELKESZULT
#if ELKESZULT == 8
#if ELKESZULT >= 8
TEST(Rajztabla, assign.full) {
Rajztabla tabla;
tabla.felrak(new Szakasz(Pont(20,40), 100, 0, WHITE));
......@@ -198,14 +197,15 @@ int main(int argc, char** argv) {
} ENDM
#endif // ELKESZULT
/// Itt a vége
if (ELKESZULT < 5 && !gtest_lite::test.fail())
ADD_FAILURE() << "\nLegalabb ELEKSZULT == 5-ig oldja meg a feladatokat!\n";
ADD_FAILURE() << "\nLegalabb ELEKSZULT == 5-ig oldja meg a feladatokat!\n";
if (ELKESZULT >= 10 && !gtest_lite::test.fail())
std::cout << "\nSzuper! Mind kesz" << std::endl;
if (ELKESZULT >= 9 && !gtest_lite::test.fail())
std::cout << "\nSzuper! Mind kesz" << std::endl;
else
std::cout << "\nEKESZULT = " << ELKESZULT << std::endl;
std::cout << "\nEKESZULT = " << ELKESZULT << std::endl;
GTEND(std::cerr); // Csak C(J)PORTA működéséhez kell
......
#ifndef GEN_ARRAY2_HPP
#ifndef GEN_ARRAY2_HPP
#define GEN_ARRAY2_HPP
/**
* \file gen_array2.hpp
......@@ -14,17 +14,20 @@
/// Generikus tömb sablon
/// @param T - adattípus
/// @param s - méret
template <class T, unsigned int s> // sablon kezdõdik
class Array { // osztálysablon
T t[s]; // elemek tömbje. s teplate parameter
template <class T, unsigned int s> // sablon kezdodik
class fixArray { // osztálysablon
T t[s]; // elemek tömbje. s template parameter
void chk(size_t i) const {
if (i >= s) throw "Indexelesi hiba";
}
public:
/// Indexelés.
/// @param i - index
/// @return - referencia az adott indexű elemre
/// @return - hiba esetén kivételt dob
T& operator[](unsigned int i) {
if (i >= s) throw "Indexelesi hiba";
return t[i];
chk(i);
return t[i];
}
/// Indexelés konstans függvénye.
......@@ -32,8 +35,8 @@ public:
/// @return - referencia az adott indexű elemre
/// @return - hiba esetén kivételt dob
const T& operator[](unsigned int i) const {
if (i >= s) throw "Indexelesi hiba (const)";
return t[i];
chk(i);
return t[i];
}
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment