Mi sto interrogando sulle funzioni utilizzate in questo modo:
object1->objectMethod1(arg1, arg2);
se objectMethod1
:
- non cambia lo stato dell'oggetto
- non usa affatto lo stato dell'oggetto
- è ampiamente utilizzato dalla classe
- si adatta logicamente come usato dalla classe
dovrebbe essere trasformato in una funzione membro?
esempio:
class CSVFile {
private:
filestream stream
string header
int num_columns
public:
CSVFile(string filename)
CSVFile() throws DefaultConstructorException()
...
CSVFile::initHeader() {
header = stream.getLine()
assert(isInCSVFormat(header)) <-- that
dovrebbe isInCSVFormat (stringa) essere una funzione membro o no?