definicja klasy kwadrat w c/c++
definicja klasy kwadrat w c/c++
bardzo proszę o pomoc
Mam do napisania program na zliczenie, a przyznam, że jestem kiepska w programowaniu Moje zadanie to:
Zdefiniuj klasę kwadrat wraz z funkcjami obsługującymi klasę i jej prostego zastosowania w programie (chodzi chyba o obliczenie pola, obwodu, przesunięcia kwadratu o wektor,... - sama do końca nie wiem )
byłabym wdzięczna za jakąkolwiek pomoc
Mam do napisania program na zliczenie, a przyznam, że jestem kiepska w programowaniu Moje zadanie to:
Zdefiniuj klasę kwadrat wraz z funkcjami obsługującymi klasę i jej prostego zastosowania w programie (chodzi chyba o obliczenie pola, obwodu, przesunięcia kwadratu o wektor,... - sama do końca nie wiem )
byłabym wdzięczna za jakąkolwiek pomoc
- Dedemonn
- Użytkownik
- Posty: 689
- Rejestracja: 21 lut 2007, o 19:40
- Płeć: Mężczyzna
- Lokalizacja: Z kompa
- Podziękował: 26 razy
- Pomógł: 137 razy
definicja klasy kwadrat w c/c++
A na zajęciach przez cały semestr to się w kłejka pewnie grało, co?
BTW: Całkiem precyzyjne polecenie. (do tego nie po polsku) ;] Jeśli mają być przesunięcia o wektor, to trzeba już pamiętać pozycję każdego wierzchołka w ukł. współrzędnych.
I czy metoda 'Jabłko' jest metodą obsługującą klasę? :7
Kod: Zaznacz cały
class Kwadrat
{
private:
double m_bok;
public:
Kwadrat(double dl)
{
m_bok = dl;
}
double obwod()
{
return 4 * m_bok;
}
double pole()
{
// bla bla
}
}
I czy metoda 'Jabłko' jest metodą obsługującą klasę? :7
definicja klasy kwadrat w c/c++
dziękuję za pomoc
a wie może ktoś jak napisać tę klasę korzystając ze współrzędnych punktów (wierzchołków kwadratu) które mają być podane przez użytkownika?
a wie może ktoś jak napisać tę klasę korzystając ze współrzędnych punktów (wierzchołków kwadratu) które mają być podane przez użytkownika?
-
- Użytkownik
- Posty: 450
- Rejestracja: 3 kwie 2007, o 18:38
- Płeć: Mężczyzna
- Lokalizacja: Biała Podlaska
- Podziękował: 12 razy
- Pomógł: 68 razy
definicja klasy kwadrat w c/c++
Możesz zdefiniować sobie dodatkową klasę punkt, ale nie koniecznie. Ja bym to zrobił np. tak:
Kod: Zaznacz cały
class Kwadrat
{
private:
double a1,a2,b1,b2,c1,c2,d1,d2;
public:
Kwadrat(double a1, double a2, double b1, double b2, double c1, double c2, double d1, double d2)
{ \inicjalizacja zmiennych}
double Obwod()
{ return 4* sqrt( (a1-b1)(a1-b1) + (a2 - b2)(a2 - b2) ) ;}
double Pole()
{ return (a1-b1)(a1-b1) + (a2 - b2)(a2 - b2);}
void Wektor(double x, double y)
{ a1 = a1 - x;
a2 = a2 - y;
\itd. dla b, c, d}
};
- Dedemonn
- Użytkownik
- Posty: 689
- Rejestracja: 21 lut 2007, o 19:40
- Płeć: Mężczyzna
- Lokalizacja: Z kompa
- Podziękował: 26 razy
- Pomógł: 137 razy
definicja klasy kwadrat w c/c++
W obliczaniu pola coś się chyba nie zgadza. (wygląda mi to na długość jednego boku bez pierwiastka)
Jeśli mogę jeszcze wtrącić swoje 3 grosze, to w programowaniu obiektowym właśnie chodzi o to, aby tworzyć klasy, które mogą wyręczać inne klasy swoimi metodami. Tak też jest ładniej/lepiej/optymalniej/wyraźniej, i cokolwiek tam jeszcze, zdefiniować klasę Punkt wraz z takimi metodami jak obliczanie odległości od innego punktu. Wtedy w dowolnym innym miejscu w programie nie będziemy dublować kodu (i ponownie nad nim myśleć) odpowiedzialnego za powyższe operacje. ;]
Pozdrawiam.
Jeśli mogę jeszcze wtrącić swoje 3 grosze, to w programowaniu obiektowym właśnie chodzi o to, aby tworzyć klasy, które mogą wyręczać inne klasy swoimi metodami. Tak też jest ładniej/lepiej/optymalniej/wyraźniej, i cokolwiek tam jeszcze, zdefiniować klasę Punkt wraz z takimi metodami jak obliczanie odległości od innego punktu. Wtedy w dowolnym innym miejscu w programie nie będziemy dublować kodu (i ponownie nad nim myśleć) odpowiedzialnego za powyższe operacje. ;]
Pozdrawiam.
definicja klasy kwadrat w c/c++
dziękuję za pomoc
jeszcze jedno pytanie, jak w kodzie dedemonna wyświetlić wynik dla np. obwodu kwadratu A, dla którego wczytano już długość boku?? mi czas wyskakuje 0.
jeszcze jedno pytanie, jak w kodzie dedemonna wyświetlić wynik dla np. obwodu kwadratu A, dla którego wczytano już długość boku?? mi czas wyskakuje 0.
- Dedemonn
- Użytkownik
- Posty: 689
- Rejestracja: 21 lut 2007, o 19:40
- Płeć: Mężczyzna
- Lokalizacja: Z kompa
- Podziękował: 26 razy
- Pomógł: 137 razy
definicja klasy kwadrat w c/c++
Kod: Zaznacz cały
Kwadrat *kw = new Kwadrat(4);
cout << kw->obwod();
- kadiii
- Użytkownik
- Posty: 642
- Rejestracja: 20 gru 2005, o 21:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 130 razy
definicja klasy kwadrat w c/c++
Tak odwołujemy się do wskaźników w klasie. Do obiektów stałych bardziej zwyczajnie:Dedemonn pisze:Chyba jakoś tak to było w C++. ;|Kod: Zaznacz cały
Kwadrat *kw = new Kwadrat(4); cout << kw->obwod();
Kod: Zaznacz cały
cout << kw.obwod();
- Dedemonn
- Użytkownik
- Posty: 689
- Rejestracja: 21 lut 2007, o 19:40
- Płeć: Mężczyzna
- Lokalizacja: Z kompa
- Podziękował: 26 razy
- Pomógł: 137 razy
definicja klasy kwadrat w c/c++
Coś kłamiesz. Tyle pamiętam zdaje się. Poprzez operator wyłuskania, znaczy kropeczkę, odwołujemy się do obiektów statycznych, tj. nie instancjowanych za pomocą operatora 'new'. Czy nie tak?
PS. Trzeba pamiętać jeszcze o zwolnieniu pamięci po pracy:
Pzdr.
PS. Trzeba pamiętać jeszcze o zwolnieniu pamięci po pracy:
Kod: Zaznacz cały
Kwadrat *kw = new Kwadrat(4);
cout << kw->obwod();
delete kw;
Pzdr.
- kadiii
- Użytkownik
- Posty: 642
- Rejestracja: 20 gru 2005, o 21:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 130 razy
definicja klasy kwadrat w c/c++
Mea culpa. Najwyraźniej twoja pamięć ma się lepiej niż moja - nie ma to jak pozytywny wpływ nauki.
Pozdrawiam
P.S A, i oczywiście nie można zapomiec o nieocenionym wpływie programowania w javie .
Pozdrawiam
P.S A, i oczywiście nie można zapomiec o nieocenionym wpływie programowania w javie .