Προς το περιεχόμενο

C++ header files & non-related function


Προτεινόμενες αναρτήσεις

Δημοσ.

Έστω ότι έχω μια κλάση που λύνει ένα πρόβλημα. Αυτό το πρόβλημα χρειάζεται κάποια 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
Δημοσ.

Τη συνάρτηση αυτή την χρησιμοποιεί οτιδήποτε άλλο στο πρόγραμμα; Αν όχι, βάλτην private στην κλάση. Αν ναι, βάλτη σ' ένα δικό της namespace με utility functions.

  • Like 1
Δημοσ.

Τη συνάρτηση αυτή την χρησιμοποιεί οτιδήποτε άλλο στο πρόγραμμα; Αν όχι, βάλτην private στην κλάση. Αν ναι, βάλτη σ' ένα δικό της namespace με utility functions.

 

Μόνο η συγκεκριμένη κλάση.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...