jedan malo veci problem
17.08.2003. u 19:04 · pre 282 meseci
#1
U knjizi `C++ za 21 dan` stigao sam do poglavlja KLASE SA DRUGIM KLASAMA KAO PODACIMA CLANOVIMA.
Ali, koliko god je sve dotle bilo odlicno objasnjeno, code koji je ovde dat kao primer, je propracen nebuloznim komentarom koji neke nove stvari ignorise.
Izvinjavam se zbog duzine ovog listinga, ali sam pretpostavio da bi skracenje onemogucilo ljude od zanata da mi eventualno precizno odgovore.
code:
// Pocetak Rect.hpp
# include <iostream.h>
class Point //sadrzi x,y koordinate
{
//nema konstruktora, koristi se podrazumev.
public:
void SetX(int x) {itsX = x; }
void SetY(int y) {itsY = y; }
int GetX()const {return itsX;}
int GetY()const {return itsY;}
private:
int itsX;
int itsY;
}; // kraj deklaracije klase Point
class Rectangle
{
public:
Rectangle (int top, int left, int bottom, int right);
~Rectangle() {}
int GetTop()const {return itsTop; }
int GetLeft()const {return itsLeft; }
int GetBottom()const {return itsBottom; }
int GetRight()const {return itsRight; }
//1111111111111111111111111111111111111111111111111111111111
Point GetUpperLeft()const {return itsUpperLeft;}
Point GetLowerLeft()const {return itsLowerLeft;}
Point GetUpperRight()const {return itsUpperRight;}
Point GetLowerRight()const {return itsLowerRight;}
//1111111111111111111111111111111111111111111111111111111111
//2222222222222222222222222222222222222222222222222222222222
void SetUpperLeft(Point Location) {itsUpperLeft = Location;}
void SetLowerLeft(Point Location) {itsLowerLeft = Location;}
void SetUpperRight(Point Location) {itsUpperRight = Location;}
void SetLowerRight(Point Location) {itsLowerRight = Location;}
//2222222222222222222222222222222222222222222222222222222222
void SetTop(int top) {itsTop = top;}
void SetLeft(int left) {itsLeft = left;}
void SetBottom(int bottom) {itsBottom = bottom;}
void SetRight(int right) {itsRight = right;}
int GetArea() const;
private:
Point itsUpperLeft;
Point itsUpperRight;
Point itsLowerLeft;
Point itsLowerRight;
int itsTop;
int itsLeft;
int itsBottom;
int itsRight;
}; // kraj datoteke Rect.hpp
// pocetak Rect.cpp
# include <Rect.hpp>
Rectangle::Rectangle(int top,int left,int bottom,int right)
{
itsTop = top;
itsLeft = left;
itsBottom = bottom;
itsRight = right;
//33333333333333333333333333333333333333333333
itsUpperLeft.SetX(left);
itsUpperLeft.SetY(top);
itsUpperRight.SetX(right);
itsUpperRight.SetY(top);
itsLowerLeft.SetX(left);
itsLowerLeft.SetY(bottom);
itsLowerRight.SetX(right);
itsLowerRight.SetY(bottom);
//333333333333333333333333333333333333333333333
}
// proracunava povrsinu pravougaonika,
// pronalazenjem temena, kreira
// sirinu i visinu, a onda mnozi
int Rectangle::GetArea() const
{
int Width = itsRight-itsLeft;
int Height = itsTop-itsBottom;
return (Width * Height);
}
int main()
{
// inicijalizuje lokalnu
//Rectangle promenljivu
Rectangle MyRectangle (100,20,50,80);
int Area = MyRectangle.GetArea();
cout << "Povrsina: " << Area << "\n";
cout << "Gornja leva X koordinata: ";
cout << MyRectangle.GetUpperLeft().GetX();
return 0;
}
Pitanje 111111..)
Kakva je ovo sintaxa kada data f-ja, nije clan klase Point(nije deklarisana u toj klasi), i kako bi prevedeno na srpski ovo trebalo da zvuci.(zar metod ne bi trebalo da bude necim odvojen od imena klase)
Pitanje 222../333..)
Ove metode (2222..) primaju kao argument promenlj. Location koja je tipa Point (tj. tacka sa dve koordinate) i njome inicijalizuju promenljivu ItsUpperLeft, ItsUpperTop.. itd. koje su takodje objekti Point.
Medjutim ove se metode nigde ne pozivaju ??? Pored toga njihov posao obavlja blok oznacen sa 3333.. u cpp datoteci (postavlja vrednosti u pomenute promenljive i time formira 4 tacke).
Tako da izgleda da je jedan od ova dva bloka suvisan.!?
Ako neko od virtuoza zeli da pomogne (reject, tizza, filmil or somebody) ja sam kao i uvek vrlo zahvalan.
Ali, koliko god je sve dotle bilo odlicno objasnjeno, code koji je ovde dat kao primer, je propracen nebuloznim komentarom koji neke nove stvari ignorise.
Izvinjavam se zbog duzine ovog listinga, ali sam pretpostavio da bi skracenje onemogucilo ljude od zanata da mi eventualno precizno odgovore.
code:
// Pocetak Rect.hpp
# include <iostream.h>
class Point //sadrzi x,y koordinate
{
//nema konstruktora, koristi se podrazumev.
public:
void SetX(int x) {itsX = x; }
void SetY(int y) {itsY = y; }
int GetX()const {return itsX;}
int GetY()const {return itsY;}
private:
int itsX;
int itsY;
}; // kraj deklaracije klase Point
class Rectangle
{
public:
Rectangle (int top, int left, int bottom, int right);
~Rectangle() {}
int GetTop()const {return itsTop; }
int GetLeft()const {return itsLeft; }
int GetBottom()const {return itsBottom; }
int GetRight()const {return itsRight; }
//1111111111111111111111111111111111111111111111111111111111
Point GetUpperLeft()const {return itsUpperLeft;}
Point GetLowerLeft()const {return itsLowerLeft;}
Point GetUpperRight()const {return itsUpperRight;}
Point GetLowerRight()const {return itsLowerRight;}
//1111111111111111111111111111111111111111111111111111111111
//2222222222222222222222222222222222222222222222222222222222
void SetUpperLeft(Point Location) {itsUpperLeft = Location;}
void SetLowerLeft(Point Location) {itsLowerLeft = Location;}
void SetUpperRight(Point Location) {itsUpperRight = Location;}
void SetLowerRight(Point Location) {itsLowerRight = Location;}
//2222222222222222222222222222222222222222222222222222222222
void SetTop(int top) {itsTop = top;}
void SetLeft(int left) {itsLeft = left;}
void SetBottom(int bottom) {itsBottom = bottom;}
void SetRight(int right) {itsRight = right;}
int GetArea() const;
private:
Point itsUpperLeft;
Point itsUpperRight;
Point itsLowerLeft;
Point itsLowerRight;
int itsTop;
int itsLeft;
int itsBottom;
int itsRight;
}; // kraj datoteke Rect.hpp
// pocetak Rect.cpp
# include <Rect.hpp>
Rectangle::Rectangle(int top,int left,int bottom,int right)
{
itsTop = top;
itsLeft = left;
itsBottom = bottom;
itsRight = right;
//33333333333333333333333333333333333333333333
itsUpperLeft.SetX(left);
itsUpperLeft.SetY(top);
itsUpperRight.SetX(right);
itsUpperRight.SetY(top);
itsLowerLeft.SetX(left);
itsLowerLeft.SetY(bottom);
itsLowerRight.SetX(right);
itsLowerRight.SetY(bottom);
//333333333333333333333333333333333333333333333
}
// proracunava povrsinu pravougaonika,
// pronalazenjem temena, kreira
// sirinu i visinu, a onda mnozi
int Rectangle::GetArea() const
{
int Width = itsRight-itsLeft;
int Height = itsTop-itsBottom;
return (Width * Height);
}
int main()
{
// inicijalizuje lokalnu
//Rectangle promenljivu
Rectangle MyRectangle (100,20,50,80);
int Area = MyRectangle.GetArea();
cout << "Povrsina: " << Area << "\n";
cout << "Gornja leva X koordinata: ";
cout << MyRectangle.GetUpperLeft().GetX();
return 0;
}
Pitanje 111111..)
Kakva je ovo sintaxa kada data f-ja, nije clan klase Point(nije deklarisana u toj klasi), i kako bi prevedeno na srpski ovo trebalo da zvuci.(zar metod ne bi trebalo da bude necim odvojen od imena klase)
Pitanje 222../333..)
Ove metode (2222..) primaju kao argument promenlj. Location koja je tipa Point (tj. tacka sa dve koordinate) i njome inicijalizuju promenljivu ItsUpperLeft, ItsUpperTop.. itd. koje su takodje objekti Point.
Medjutim ove se metode nigde ne pozivaju ??? Pored toga njihov posao obavlja blok oznacen sa 3333.. u cpp datoteci (postavlja vrednosti u pomenute promenljive i time formira 4 tacke).
Tako da izgleda da je jedan od ova dva bloka suvisan.!?
Ako neko od virtuoza zeli da pomogne (reject, tizza, filmil or somebody) ja sam kao i uvek vrlo zahvalan.
Re: jedan malo veci problem
Re: jedan malo veci problem
Re: jedan malo veci problem