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