Originariamente inviato da MItaly
Se non hai bisogno di lavorare con delle istanze di una classe (se cioè definisci solo metodi statici) allora molto probabilmente non ti serve una classe, ma semplicemente delle funzioni (che puoi raggruppare in namespace).
Ciao MItaly, in effetti l'ultima mia scrittura può aver senso solo se definisco la mia funzione a livello globale al di fuori di ogni classe, come ad esempio dentro una collezzione di funzioni.
Però la classe mi serve perché contiene i suoi dati. Allora la risposta al mio quesito probabilmente sta nella prime parole della tua risposta, ovvero dovrei creare una istanza della classe. C'ho provato e funziona, un qualcosa del genere:
La classe con il metodo che mi serve:
codice:
/////////////////////////////
// FirstClass.h
class CFirstClass
{
protected:
CFirstClass();
~CFirstClass();
private:
double FirstMethod();
};
/////////////////////////////
// FirstClass.cpp
#include "FirstClass.h"
CFirstClass::CFirstClass()
{
}
CFirstClass::~CFirstClass()
{
}
double CFirstClass::FirstMethod()
{
//... Codice ...codice.
}
L'altra classe da cui dovrei chiamare il metodo della prima classe:
codice:
/////////////////////////////
// SecondClass.h
#include "FirstClass.h"
class CSecondClass
{
protected:
CSecondClass();
~CSecondClass();
private:
CFirstClass m_first;
private:
void SecondMethod();
};
/////////////////////////////
// SecondClass.cpp
#include "SecondClass.h"
CSecondClass::CSecondClass()
{
}
CSecondClass::~CSecondClass()
{
}
void CSecondClass::SecondMethod()
{
double ddata = m_first.FirstMethod();
}
In questo modo evito di creare una metodo statico, evitando forse una cattiva pratica di programmazione, ed era poi questo il quesito del mio post.
Chiedo scusa per la banalità dei miei dubbi, ma purtroppo sto imparando il C++ su codice già esistente, e quando mi ritrovo a creare del codice di sana pianta mi nascono di questi dubbi.