#3 Hoffik
Není to úplně ono, ale tohle mi bude stačit, MOC DĚKUJI!!! :)
Příspěvky odeslané z IP adresy 212.96.160.–
Nikdo nic? :(
Zdravím všechny,
mám dotaz ohledně hlav.souboru. a to následující:
Mějme soubor.h a v něm kod
#ifndef _SOUBOR_H
#define _SOUBOR_H
prikazy;
#endif
A moje otázka: Proč, k čemu slouží, z jakého důvodu se musí vkládat #ifndef _SOUBOR_H a #define _SOUBOR_H na začátek zdrojového kodu? Zkoušel jsem to psát i bez toho a fungovalo to také, ale v každém zdrojovém kodu co jsem prošel to bylo uvedeno tak bych rád věděl proč. Díky za odpovědi, nebo případné odkazy na danou problematiku. :)
Tak už mi to funguje, problém byl v tom že jsem jednotlivé soubory(.cpp;.cpp;.h) neměl pod jedním projektem, myslel jsem že stačí jen když jsou v jedné složce.
Díky moc za pomoc, už jsem myslel že se dnes nevyspím. :)
Zdravim mam nasledujci kody:
soubor poprve.cpp
#include <cstdlib>
#include <iostream>
#include "pr.h"
using namespace std;
int main(void)
{
int k, l;
cout <<"\nNacti prvni cislo ";
cin >> k;
cout <<"Nacti druhe cislo ";
cin >> l;
Vypocty Prvni;
Prvni.NastavHodnoty(k,l);
cout << "Soucet cisel "<< k << " a " << l << " je ";
cout << Prvni.Soucet(k,l) <<"\n";
system("pause");
return 0;
}
soubor pr.h
#include <iostream>
#ifndef _PR_H_
#define _PR_H_
class Vypocty
{
public:
int Soucet(int, int);
int NastavHodnoty(int, int);
private:
int prvni_promenna;
int druha_promenna;
};
#endif
soubor prf.cpp
#include "pr.h"
int Vypocty::NastavHodnoty(int, int)
{
prvni_promenna = k;
druha_promenna = l;
}
int Vypocty::Soucet(int, int)
{
return prvni_promenna + druha_promenna;
}
A ted duvod proc sem pisu, pri kompilaci mi to neustale tahe chybu
[Linker error] undefined reference to `Vypocty::NastavHodnoty(int, int)'
[Linker error] undefined reference to `Vypocty::Soucet(int, int)'
ld returned 1 exit status
Nevite nekdo prosím kde je chyba?