( tr3w | 2008. 04. 11., p – 10:02 )

Jó ötlet a git, legalább bele tudtam nézni tömörítgetés nélkül.

Pár megjegyzés:
dictionaries.h:
Ezt szerintem írd át: :)


  24 #ifndef DICTIONARYES_H
  25 #define DICTIONARYES_H

online_dictionary.h:
Mint ahogy írod ez egy abstract class.
Tehát sohasem példányosítjuk. Ilyenkor szokták a konstruktort protected-re állítani. Így fordítási időben kiderül, hogy nem lehet példányosítani, de persze a származtatott osztályok elérik a konstruktort.

Plusz megtehetetd, hogy a virtuális fv-eknek nem adsz implementációt:


virtual bool search(const settings &)=0;

Ez azért jó, mert így nem fordulhat elő, hogy származtatáskor valaki véletlenül nem implementál egy virtuális fv-t.
(Persze csak azoknál a virt. fv-eknél kell ez amiket kötelező implementálni. Ha van értelmes default viselkedés, akkor nem kell.)

main.cpp:


qtdict * mw = new qtdict();
mw->show();

delete? Értem én, hogy az OS kilövi, de így nem szép.
Mellesleg felesleges is:


qtdict mw;
mw.show();

A névadási szokásaid nekem nagyon furcsák, két szokást keversz:
- a típusneveket kisbetűvel kezded, ezt a STL-en kívül kb sehol nem látni (na jó, boost). Itt a szóhatárokat '_'-vel jelölöd.
- a tagfv-eknél, és a tagváltozóknál viszont nagybetű mutatja a szóhatárokat. (Camel Casing)

Egyik módszerrel sincs baj, csak a kettő keverése szerintem kicsit zavaró. Leginkább a kisbetűs típusnevek zavarnak...

Különben nem rossz (így 10 perc után :) ), tetszik, hogy nem inlude-olsz mindent feleslegesen, egyedül az utils.h elején látok valami tobzódást. :)

Majd még futtatom is, megnézem a GUI-t.

Csak így tovább!

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o