Znači ovako, nisam dugo poslovao sa cpp-om, a zatrebalo mi nešto, pa da se podsjetim. Nabrzinu sklepah neki "helloworld" kad ono problemi.
main.cpp
Code:
#include <cstdlib>
#include <iostream>
#include "klasa.h"
using namespace std;
int main(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}
klasa.h
Code:
#ifndef KLASA_H
#define KLASA_H
class kompleks {
private:
public:
kompleks (int i, int j);
~kompleks ();
int zbroj();
};
#endif /* KLASA_H */
klasa.cpp
Code:
#include "klasa.h"
#include <cstdlib>
#include <iostream>
class kompleks {
private:
int x;
int y;
public:
kompleks (int i, int j) {
this->x=i;
this->y=j;
}
~kompleks ();
int zbroj(){
// implement
return (x +y);
}
};
To ne kompajlira, kaže error u klasa.cpp, redefinition of class kompleks.
Po meni to bi ovaj include guard (#ifndef -> #define) trebao rješavat, ali neće. Kad stavim u main.cpp include klasa.cpp umjesto .h onda radi, ali to baš i ne želim. Što ne valja?