Ciao a tutti. Scusate la questione niubba ma il c++ lo sto studiando adesso. Ecco io avrei questo codice:
codice:
#include <iostream>
using namespace std;
class CProva {
private:
static float n;
public:
CProva() {
SetN(3.14);
}
static void SetN(const float &num) {
n = num;
}
static float GetN() {
return n;
}
static void ShowAbout() {
cout << "#CProva v1.0" << endl;
}
};
int main() {
int a;
CProva::ShowAbout();
cout << "Pigreco: " << CProva::GetN() << endl;
cin >> a;
return 0;
}
Naturalmente l'ho fatto solo per provare ad usare il modificatore static. Il problema è che compilando il listato con il devcpp mi esce fuori l'errore seguente: [Linker error] undefined reference to `CProva::n' .
Da quello che ho capito gli attributi static posso essere modificati solo da funzioni membro static, poi anche che se una funzione membro è dichiarata static è possibile usarla anche non instanziando nessun oggetto della classe stessa, attraverso il risolutore di scope ::, no?
Allora dove sbaglio? Sapete illuminarmi ?
grazie anticipatamente