|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
ostoj
Przewijak Tasmy
Dołączył: 08 Lis 2005
Posty: 883
Przeczytał: 0 tematów
Skąd: Tychy
|
Wysłany: Czw 14:10, 15 Cze 2006 Temat postu: jak to powinno wygladac aby bylo ladne obiektowo orientowane |
|
|
implementuje sobie drzewka czerwono-czarne w c++. w zasadzie dopiero zaczalem, totez kodu wiele nie ma, ale pojawil sie ciekawy problem. o ile to co zrobilem do tej pory dziala, tak jak powinno, o tyle zastanawiam sie na ile to ladne, obiektowo orientowane, prawidlowo poenkapsulowane itp itd. bo tak na moje to cos tutaj nie gra :)
to jest fragment mojej glownej klasy:
Kod: | class RBTree
{
class Node{
public:
int key;
Node *left, *right, *parent;
Color color;
};
Node *root;
void In(const Node *node);
public:
RBTree(int el);
void Inorder();
Node * Search(int el);
void Insert(int el);
}; |
to jest fragment odpowiedzialny za przeglad inorder:
Kod: | void RBTree::Inorder()
{
In(root);
}
void RBTree::In(const Node *node)
{
if (node != NULL)
{
In(node->left);
cout << node->key << " ";
In(node->right);
}
} |
to jest kod funkcji search:
Kod: | RBTree::Node * RBTree::Search(int el)
{
Node *node = root;
while ((node != NULL) && (node->key != el))
{
if (node->key < el)
{ node = node->left; }
else { node = node->right; };
}
return node;
} |
a to jest fragment maina:
Kod: | RBTree tree(15);
tree.Inorder();
cout<< ( (tree.Search(15)) ? "Tak" : "Nie" ); |
prosze was, abyscie na to rzucili okiem i jesli uwazacie, ze mozna to zrobic lepiej, powiedzili o tym. z gory bardzo dziekuje.
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
flower
alkoholik
Dołączył: 18 Lis 2005
Posty: 481
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Czw 14:26, 15 Cze 2006 Temat postu: Re: jak to powinno wygladac aby bylo ladne obiektowo oriento |
|
|
ostoj napisał: | o tyle zastanawiam sie na ile to ladne, obiektowo orientowane, prawidlowo poenkapsulowane |
programowanie obiektowe to czyste ZLOOOOOOOOOOOOOOO :twisted: :twisted: :twisted:
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
ostoj
Przewijak Tasmy
Dołączył: 08 Lis 2005
Posty: 883
Przeczytał: 0 tematów
Skąd: Tychy
|
Wysłany: Czw 14:28, 15 Cze 2006 Temat postu: |
|
|
dzieki za konkretne wskazowki :)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
flower
alkoholik
Dołączył: 18 Lis 2005
Posty: 481
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Czw 22:50, 15 Cze 2006 Temat postu: |
|
|
ostoj napisał: | dzieki za konkretne wskazowki :) |
nie ma za co, zawsze sluze rzeczowa pomoca :mrgreen: :mrgreen: :mrgreen: :mrgreen:
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Madras
Omylny Admin
Dołączył: 09 Lis 2005
Posty: 2021
Przeczytał: 0 tematów
Skąd: Z Pokoju :]
|
Wysłany: Czw 23:04, 15 Cze 2006 Temat postu: |
|
|
Zamiast pisać wszędzie argument typu int lepiej zrobić typedef int TypKlucza i w odpowiednich miejscach zamienić int na TypKlucza, dzięki temu gdy będziesz chciał przejść na stringi, wystarczy zmienić tym klucza w jednym miejscu, zamiast latać po całym programie.
Poza tym w tym ten kod nie za bardzo jest OOP z jednej przyczyny - jak to stwierdził [link widoczny dla zalogowanych] - programowanie orientowane obiektowo zaczyna się wtedy, gdy świadomie korzystamy z funkcji wirtualnych ;). Póki co, jest to tylko programowanie obiektowe.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
exeman
Mistrz grilla
Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów
Skąd: znienacka
|
Wysłany: Pią 0:10, 16 Cze 2006 Temat postu: |
|
|
Nie rozumiem dlaczego na tej uczelni taki nacisk klada na programowanie zorientowane obiektowo, przeciez to jest cholernie nieoptymalne i czesto sztuczne.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
flower
alkoholik
Dołączył: 18 Lis 2005
Posty: 481
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Pią 1:15, 16 Cze 2006 Temat postu: |
|
|
bo to jest teraz trendy
no a inna sprawa ze mimo wszystko jak zespol programistow pracuje nad jakims duzym softem, to taki z grubsza podzial na klasy bardzo ulatwia sprawe i koordynacje calego projektu.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
ostoj
Przewijak Tasmy
Dołączył: 08 Lis 2005
Posty: 883
Przeczytał: 0 tematów
Skąd: Tychy
|
Wysłany: Pią 9:49, 16 Cze 2006 Temat postu: |
|
|
Madras napisał: | Zamiast pisać wszędzie argument typu int lepiej zrobić typedef int TypKlucza i w odpowiednich miejscach zamienić int na TypKlucza, dzięki temu gdy będziesz chciał przejść na stringi, wystarczy zmienić tym klucza w jednym miejscu, zamiast latać po całym programie. |
co to to fakt, ale i tak potem musze to przerobic na template'y :)
Madras napisał: | Poza tym w tym ten kod nie za bardzo jest OOP z jednej przyczyny - jak to stwierdził [link widoczny dla zalogowanych] - programowanie orientowane obiektowo zaczyna się wtedy, gdy świadomie korzystamy z funkcji wirtualnych ;). Póki co, jest to tylko programowanie obiektowe. |
oj, zapomnialem definicji z wykladu :)
dzieki za info.
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|