Buongiorno a tutti,
sto usando netbeans 8(con compilatore cygwin) per creare dei programmi in C++ su Windows.
Il mio problema sta nel fatto che scrivendo un semplice programma mi da errore "multiple definition" dei metodi della classe, questo programma l'ho copiato riga per riga da un testo di programmazione C++ e a mio avviso non c'è nulla di sbagliato e non so più dove sbattere la testa.
Allego ora i file:
questo è il file "orario2.cpp" e contiene la classe orario2
Questo invece è il main (main.cpp) che utilizza la classe di cui sopra:
Mentre questo è tutto il papiro di errori che mi fa da cui si notano gli errori di "multiple definition" sulla definizione dei metodi ora, minuti, secondi e sul costruttore a 0,1,2,3 parametri:
..... dunque.... qualcuno sa spiegarmi dove è che sbaglio??:grat:
Grazie in anticipo e buona continuazione di giornata :)
sto usando netbeans 8(con compilatore cygwin) per creare dei programmi in C++ su Windows.
Il mio problema sta nel fatto che scrivendo un semplice programma mi da errore "multiple definition" dei metodi della classe, questo programma l'ho copiato riga per riga da un testo di programmazione C++ e a mio avviso non c'è nulla di sbagliato e non so più dove sbattere la testa.
Allego ora i file:
questo è il file "orario2.cpp" e contiene la classe orario2
Codice:
class orario2 {
public:
orario2(int=0, int=0, int=0);
int Ore();
int Minuti();
int Secondi();
private:
int sec;
};
orario2::orario2(int o, int m, int s) {
if(o<0 || o>23 || m<0 || m>59 || s<0 || s>59)
sec=0;
else
sec=o*3600 + m*60+s;
}
int orario2::Ore(){
return sec/3600;
}
int orario2::Minuti(){
return (sec/60)%60;
}
int orario2::Secondi(){
return sec%60;
}
Questo invece è il main (main.cpp) che utilizza la classe di cui sopra:
Codice:
#include "orario2.cpp"
#include <cstdlib>
#include <iostream>
using namespace std;
/*
*
*/
int main() {
orario2 s;
s=6;
cout<<s.Ore()<<':'<<s.Minuti()<<':'<<s.Secondi()<<endl;
}
Mentre questo è tutto il papiro di errori che mi fa da cui si notano gli errori di "multiple definition" sulla definizione dei metodi ora, minuti, secondi e sul costruttore a 0,1,2,3 parametri:
Codice:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/Cygwin-Windows/cppapplication_2.exe
make[2]: Entering directory '/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2'
mkdir -p dist/Debug/Cygwin-Windows
g++ -o dist/Debug/Cygwin-Windows/cppapplication_2 build/Debug/Cygwin-Windows/main.o build/Debug/Cygwin-Windows/orario2.o
build/Debug/Cygwin-Windows/orario2.o: In function `ZN7orario2C2Eiii':
/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:20: multiple definition of `orario2::orario2(int, int, int)'
build/Debug/Cygwin-Windows/main.o:/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:20: first defined here
build/Debug/Cygwin-Windows/orario2.o: In function `ZN7orario2C2Eiii':
/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:20: multiple definition of `orario2::orario2(int, int, int)'
build/Debug/Cygwin-Windows/main.o:/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:20: first defined here
build/Debug/Cygwin-Windows/orario2.o: In function `ZN7orario23OreEv':
/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:27: multiple definition of `orario2::Ore()'
build/Debug/Cygwin-Windows/main.o:/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:27: first defined here
build/Debug/Cygwin-Windows/orario2.o: In function `ZN7orario26MinutiEv':
/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:31: multiple definition of `orario2::Minuti()'
build/Debug/Cygwin-Windows/main.o:/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:31: first defined here
build/Debug/Cygwin-Windows/orario2.o: In function `ZN7orario27SecondiEv':
/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:35: multiple definition of `orario2::Secondi()'
build/Debug/Cygwin-Windows/main.o:/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2/orario2.cpp:35: first defined here
collect2: error: ld returned 1 exit status
nbproject/Makefile-Debug.mk:63: recipe for target 'dist/Debug/Cygwin-Windows/cppapplication_2.exe' failed
make[2]: *** [dist/Debug/Cygwin-Windows/cppapplication_2.exe] Error 1
make[2]: Leaving directory '/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2'
nbproject/Makefile-Debug.mk:60: recipe for target '.build-conf' failed
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory '/cygdrive/c/Documents and Settings/Jacopo/Desktop/prova cpp/CppApplication_2'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 969ms)
..... dunque.... qualcuno sa spiegarmi dove è che sbaglio??:grat:
Grazie in anticipo e buona continuazione di giornata :)