- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
- Magga: PLEX: multimédia az egész lakásban
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Android másképp: Lineage OS és társai
- Random25: Windows 11 telepítés Pendriveról
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Új hozzászólás Aktív témák
-
cadtamas
tag
Sziasztok.
A tanuljuk meg a c++ nyelvet 24 óra alatt c. könyvből tanulok és az osztályoknál járok.
Van néhány dolog amit nem értek a példafeladatban.
Ez a header. Ez tiszta.#pragma once
# include <iostream>
class Point
{
private:
int itsX;
int itsY;
public:
void setX(int x) { int itsX = x; }
void setY(int y) { int itsY = y; }
int getX() const { return itsX; }
int getY() const { return itsY; }
};
class Rectangle
{
public:
Rectangle(int top, int left, int bottom, int right);
//~Rectangle();
int getRight() const { return itsRight; }
int getLeft() const { return itsLeft; }
int getTop() const { return itsTop; }
int getBottom() const { return itsBottom; }
Point getUpperLeft() const { return itsUpperLeft; }
Point getLowerLeft() const { return itsLowerLeft; }
Point getUpperRight() const { return itsUpperRight; }
Point getLowerRight() const { return itsLowerRight; }
void setUpperLeft(Point location);
void setLowerLeft(Point location);
void setUpperRight(Point location);
void setLowerRight(Point location);
void setRight(int right);
void setLeft(int left);
void setTop(int top);
void setBottom(int bottom);
int getArea() const;
private:
int itsTop;
int itsBottom;
int itsLeft;
int itsRight;
Point itsUpperLeft;
Point itsUpperRight;
Point itsLowerRight;
Point itsLowerLeft;
};Viszont itt több helyen elakadtam:
#include "rect.h"
Rectangle::Rectangle(int top, int left, int bottom, int right) //konstruktor, idáig rendben vagyunk
{
itsTop = top; //Ez elvileg az implementáció, amit nem taglal a könyv, hogy miért kell és később miért nem használjuk semmire.
itsRight = right;
itsLeft = left;
itsBottom = bottom;
itsUpperLeft.setX(left);
itsUpperLeft.setY(top);
itsUpperRight.setX(right);
itsUpperRight.setY(top);
itsLowerLeft.setX(left);
itsLowerLeft.setY(bottom);
itsLowerRight.setX(right);
itsLowerRight.setY(bottom);
}
//ide kellene gondolom a destruktor, ami azért jó, mert memóriát szabadít fel?
void Rectangle::setUpperLeft(Point location) //definiáljuk a függvényt
{
itsUpperLeft = location; //módosítja a változót ami elvileg az egyetlen feladata.
itsUpperRight.setY(location.getY()); //módosítja a JobbFelső pont Y értékét, de miért???
itsLowerLeft.setX(location.getX()); //módosítja a BalAlsó pont X értékét, de miért???
itsTop = location.getY(); //a test felső vonalát határozza meg, de nem ez a dolga!!!
itsLeft = location.getX(); //a test bal szélső vonalát határozza meg, de nem ez a dolga!!!
}
void Rectangle::setLowerLeft(Point location)
{
itsLowerLeft = location;
itsLowerRight.setY(location.getY());
itsUpperLeft.setX(location.getX());
itsBottom = location.getY();
itsLeft = location.getX();
}
void Rectangle::setLowerRight(Point location)
{
itsLowerRight = location;
itsLowerLeft.setY(location.getY());
itsUpperRight.setX(location.getX());
itsBottom = location.getY();
itsRight = location.getX();
}
void Rectangle::setUpperRight(Point location)
{
itsUpperRight = location;
itsUpperLeft.setY(location.getY());
itsLowerRight.setX(location.getX());
itsTop = location.getY();
itsRight = location.getX();
}
void Rectangle::setTop(int top) //beállítja a test felső vonalát. Ugyanazt mint a setUpperLeft() függvény. MIÉRT???
{
itsTop = top; //Ez lenne a dolga
itsUpperLeft.setY(top); //Ez ugyanazt módosítja, mint a setUpperLeft() függvény. (Részben) De ez nem ennek a feladata...
itsUpperRight.setY(top); //Ez ugyanazt módosítja, mint a setUpperRight() függvény. (Részben) De ez nem ennek a feladata...
}
void Rectangle::setLeft(int left)
{
itsLeft = left;
itsUpperLeft.setX(left);
itsLowerLeft.setX(left);
}
void Rectangle::setBottom(int bottom)
{
itsBottom = bottom;
itsLowerLeft.setY(bottom);
itsLowerRight.setY(bottom);
}
void Rectangle::setRight(int right)
{
itsRight = right;
itsUpperRight.setX(right);
itsLowerRight.setX(right);
}
int Rectangle::getArea() const
{
int width = itsRight - itsLeft;
int height = itsTop - itsBottom;
return (width*height);
}
int main()
{
Rectangle MyRectangle(100, 20, 50, 80); //Létrehozzuk a négyszöget
int Area = MyRectangle.getArea();
std::cout << "Terulet: " << Area << "\n";
std::cout << "Bal felso pont x koordinataja: ";
std::cout << MyRectangle.getUpperLeft().getX()<< std::endl; //ennek 20-nak kellene lennie, de nem annyi.
system("pause");
return 0;
}
Kommenteltem, ami nem világos. Tudnátok segíteni, hogy megértsem mi, miért történik?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Azonnali informatikai kérdések órája
- Milyen egeret válasszak?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen videókártyát?
- Kerékpárosok, bringások ide!
- One otthoni szolgáltatások (TV, internet, telefon)
- Bluetooth hangszórók
- Milyen TV-t vegyek?
- Víztisztító berendezések - kancsók - szűrőbetétek
- Budakeszi, Páty, Telki, Budajenő, Zsámbék, Tök, Perbál topik
- További aktív témák...
- Uhh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 16/1TB RTX A2000 4GB /1 Millió/
- Esport PC - i5 13400F, GTX 1080ti és 16gb DDR5
- Ohh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- AZTA! HP EliteBook 840 G8 Fémházas Laptop Ultrabook 14" -60% i7-1185G7 16/512 FHD IPS Iris Xe
- Sony PlayStation 5 (PS5) Játékkonzol - Lemezes verzió, dobozában!
- Újszerű Asus ExpertBook B1 B1500 - 15.6" FullHD IPS - i5-1235U - 16GB - 512GB SSD - Win11 - Garancia
- Új, verhetetlen alaplap sok extrával!
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- KÖZEL FÉLÁR! Apple Magic Keyboard, Mouse, Trackpad, Pencil, Smart Magic Keyboard Folio, Watch szíjak
- Bomba ár! Dell Latitude 5480 - i5-6GEN I 8GB I 500GB I 14" HD I Cam I W10 I Garancia!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest