Tsalikis177 Δημοσ. 31 Μαρτίου 2017 Δημοσ. 31 Μαρτίου 2017 Έστω ότι έχω μια κλάση που λύνει ένα πρόβλημα. Αυτό το πρόβλημα χρειάζεται κάποια Utility functions αλλά και κάποια λίγο πιο σχετικά (inits) Πως/που να βάλω τις συναρτήσεις αυτές; Πχ: // A.h class a{ private: string mystr; public: void functiona(); void functionb(); int letterFrequency(string givenstring); } // A.cpp int A::letterFrequency(...) { ... } Που θα πρέπει να βρίσκεται λοιπόν η LetterFrequency η οποία χρειάζεται από την function a() και μόνο. Το να βρίσκεται στο header είναι κακή ιδέα. Είναι όμως καλή ιδέα να βρίσκεται μόνο στο .cpp χωρίς να υπάρχει στο header? (κάπως καλύτερο από το πάνω) δηλαδή: // A.h class a{ ... public: void functiona(); } // A.cpp A::A(){} void A::functiona(...) { int x = letterFrequency(...); .... } ... int letterFrequency(...) { } Ή πρέπει να υπάρχουν στο header ως Private?
Moderators Kercyn Δημοσ. 31 Μαρτίου 2017 Moderators Δημοσ. 31 Μαρτίου 2017 Τη συνάρτηση αυτή την χρησιμοποιεί οτιδήποτε άλλο στο πρόγραμμα; Αν όχι, βάλτην private στην κλάση. Αν ναι, βάλτη σ' ένα δικό της namespace με utility functions. 1
Tsalikis177 Δημοσ. 31 Μαρτίου 2017 Μέλος Δημοσ. 31 Μαρτίου 2017 Τη συνάρτηση αυτή την χρησιμοποιεί οτιδήποτε άλλο στο πρόγραμμα; Αν όχι, βάλτην private στην κλάση. Αν ναι, βάλτη σ' ένα δικό της namespace με utility functions. Μόνο η συγκεκριμένη κλάση.
defacer Δημοσ. 31 Μαρτίου 2017 Δημοσ. 31 Μαρτίου 2017 Αν ναι, βάλτη σ' ένα δικό της namespace με utility functions. ...και κάντην static. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα