Commit 6d3c80a2 by Szeberényi Imre

elkeszult.h

parent e7fed769
#ifndef ELKESZULT_H
#define ELKESZULT_H
/**
* \file elkeszult.h
*
*/
/// Készültségi fok beállítása
#define ELKESZULT 0
/**
*ELKESZULT értéke - feladatok:
* 0. Csak az előre elkészített tagfüggvények (konstruktorok, getRe, abs) működnek.
* 1. Készítsen lekérdező függvényeket a valós és képzetes rész lekérdezésére:
* getRe(), getIm()! Ügyeljen arra, hogy konstans objektumra is működjön!
* (Konstans objektumra csak olyan tagfüggvény alkalmazható, ami nem
* változtatja az objektum állapotát.)
* A példában a getRe() függvénynek van const és nem const változata is.
* Esetünkben ez értelmetlen, de azt kívánja demonstrálni, hogy ez két külön
* tagfüggvény.
* 2. Készítsen beállító függvényeket a valós és képzetes rész beállítására!
* setRe(double), setIm(double)
* 3. Készítsen egyenlőségvizsgáló (==) operátort!
* A != operátort már elkészítettük, ami az == -re vezeti vissza a feladatot.
* 4. Készítsen + operátort (összeadás)! Működjön valóssal is (először csak jobbról)!
* 5. Készítsen olyan összeadó operátort, ami alkalmas valós + komplex összeadására!
* (A double + Komplex esetben a bal oldali operandus nem objektum, így globális
* operátorfüggvénnyel kell megvalósítani a feladatot.)
* 6. Készítsen += operátort!
* Megj: A += valós változatot már elkészítettük!
*
* Szorgalmi feladatok:
* 7. Legyen kiírható a komplex adat egy ostream típusú objektumra a << operátorral
* 1+34j ill. 1-34j alakban!
* Be lehessen olvasni egy istream típusú objektumból a >> operátorral
* ugyanilyen (1+34j) alakban!
* Megj: A kért kiírási formátumban a képzetes rész előtt ki kell írni a képzetes rész
* előjelét (a pozitívat is), de a valós rész előtt csak a negatív előjel
* jelenjen meg! (tipp: showpos, noshowpos, ignore)
* 8. Valósítsa meg a ~ operátort, amely a komplex szám konjugáltját képzi.
* 9. Készítsen * operátort (szorzás)! Működjön valóssal balról és jobbról is!
* Készítsen *= operátort! Működjön valóssal (double) is!
*/
#endif
......@@ -32,6 +32,7 @@
<Add option="-Wall" />
<Add directory="gtest/include" />
</Compiler>
<Unit filename="elkeszult.h" />
<Unit filename="gtest_lite.h" />
<Unit filename="komplex.cpp" />
<Unit filename="komplex.h" />
......
......@@ -9,48 +9,19 @@
*/
#ifndef KOMPLEX_H
#define KOMPLEX_H
/**
* Az Ön feladata a komplex.cpp fájlban megvalósítani (definiálni) az egyes
* függvényeket. Ahogyan halad a megvalósítással egyre több tesztesetet kell
* lefuttatni, ezért az ELKESZULT makró értéket folyamatosan növelje a
* feladatsorszámoknak megfelelően!
* Ebben a fájlban mást nem szükséges módosítania.
*/
#define ELKESZULT 0
/**
*ELKESZULT értéke - feladatok:
* 0. Csak az előre elkészített tagfüggvények (konstruktorok, getRe, abs) működnek.
* 1. Készítsen lekérdező függvényeket a valós és képzetes rész lekérdezésére:
* getRe(), getIm()! Ügyeljen arra, hogy konstans objektumra is működjön!
* (Konstans objektumra csak olyan tagfüggvény alkalmazható, ami nem
* változtatja az objektum állapotát.)
* A példában a getRe() függvénynek van const és nem const változata is.
* Esetünkben ez értelmetlen, de azt kívánja demonstrálni, hogy ez két külön
* tagfüggvény.
* 2. Készítsen beállító függvényeket a valós és képzetes rész beállítására!
* setRe(double), setIm(double)
* 3. Készítsen egyenlőségvizsgáló (==) operátort!
* A != operátort már elkészítettük, ami az == -re vezeti vissza a feladatot.
* 4. Készítsen + operátort (összeadás)! Működjön valóssal is (először csak jobbról)!
* 5. Készítsen olyan összeadó operatort, ami alkalmas valós + komplex összeadására!
* (A double + Komplex esetben a bal oldali operandus nem objektum, így globális
* operátorfüggvénnyel kell megvalósítani a feladatot.)
* 6. Készítsen += operátort!
* Megj: A += valós változatot már elkészítettük!
* Az Ön feladata a komplex.cpp fájlban megvalósítani (definiálni) a hiányzó függvényeket.
* Ahogyan halad a megvalósítással egyre több tesztesetet kell lefuttatni,
* ezért az ELKESZULT makró értéket a készültségi foknak megfelelően állítsa be az
* elkeszult.h fájlban!
* Ne hagyjon ki feladatot, sorban haladjon!
*
* Szorgalmi feladatok:
* 7. Legyen kiírható a komplex adat egy ostream típusú objektumra a << operátorral
* 1+34j ill. 1-34j alakban!
* Be lehessen olvasni egy istream típusú objektumból a >> operátorral
* ugyanilyen (1+34j) alakban!
* Megj: A kért kiírási formátumban a képzetes rész előtt ki kell írni a képzetes rész
* előjelét (a pozitívat is), de a valós rész előtt csak a negatív előjel
* jelenjen meg! (tipp: showpos, noshowpos, ignore)
* 8. Valósítsa meg a ~ operátort, amely a komplex szám konjugáltját képzi.
* 9. Készítsen * operátort (szorzás)! Működjön valóssal balról és jobbról is!
* Készítsen *= operátort! Működjön valóssal (double) is!
* Ebben a fájlban nem kell módosítania semmit.
*/
#include "elkeszult.h"
/// Komplex osztály deklarációja
/// Lesz olyan feladat, amelynél ezt is bővítenie kell!
class Komplex {
......
......@@ -13,7 +13,7 @@
#include <sstream>
#include "gtest_lite.h"
#include "elkeszult.h"
#include "komplex.h"
int main() {
......
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