Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Podział kodu na pliki źródłowe- klasy w osobnych plikach

Ostatnio zmodyfikowano 2010-08-06 15:25
Autor Wiadomość
huberthx
Temat założony przez niniejszego użytkownika
Podział kodu na pliki źródłowe- klasy w osobnych plikach
» 2010-08-05 20:13:11
C/C++
//klasy.h
class otoczenie
{
public:
    float tlen;
    float tlenatmosfera;
    float pobierztlen();
};

class woda
    : public otoczenie
{
public:
    float tleniwoda;
    float pobierztlenodotoczenia();
};

C/C++
//funkcje.cpp:

float otoczenie::pobierztlen()
{
    return tlenatmosfera =( tlen * 0.6 );
};
float woda::pobierztlenodotoczenia()
{
    return tleniwoda =( tlenatmosfera / 2 );
};

C/C++
//main.cpp:

#include <iostream>
#include <klasy.h>
#include <funkcje.cpp>

main()
{
    woda wodaobiekt;
    std::cin >> wodaobiekt.tlen;
    wodaobiekt.pobierztlen();
    wodaobiekt.pobierztlenodotoczenia();
    std::cout << wodaobiekt.tleniwoda;
};

Błędy kompilatora:
'otoczenie' has not been been declared
'tlenatmosfera' was not declared in this scope
'tlen' was not declared in this scope
'woda' has not been declared
'tleniwoda' was not declared in this scope
'tlenatmosfera' was not declared in this scope
P-20460
DejaVu
» 2010-08-05 20:30:16
1) Plików *.cpp nie dołącza się poprzez #include
2) Poczytaj o dzieleniu kodu na kilka plików
3) Poniższy kod się kompiluje:
C/C++
#include <iostream>

class otoczenie
{
public:
    float tlen;
    float tlenatmosfera;
    float pobierztlen();
};

class woda
    : public otoczenie
{
public:
    float tleniwoda;
    float pobierztlenodotoczenia();
};


float otoczenie::pobierztlen()
{
    return tlenatmosfera =( tlen * 0.6 );
};
float woda::pobierztlenodotoczenia()
{
    return tleniwoda =( tlenatmosfera / 2 );
};

int main()
{
    woda wodaobiekt;
    std::cin >> wodaobiekt.tlen;
    wodaobiekt.pobierztlen();
    wodaobiekt.pobierztlenodotoczenia();
    std::cout << wodaobiekt.tleniwoda;
    return 0;
}
4) Przerób powyższy kod tak aby był rozbity na kilka plików i również się kompilował (patrz ptk 1 i ptk 2.)

P-20463
huberthx
Temat założony przez niniejszego użytkownika
» 2010-08-06 00:40:52
Poczytałem o łączeniu kilku plików i nie znalazłem żadnej innej dyrektywy do tego służącej niż include. Panie Piotrze pisze Pan, że plików cpp nie dołącza się przez dyrektywę #include jednak wcześniej kiedy używałem kompilatora dev c++ na systemie Windows dołączałem plik cpp właśnie przez dyrektywę #include i wszystko chodziło jak trzeba. Teraz mam linuxa ubuntu 10.04 i kompilator NetBeans, Wszystkie pliki znajdują się w tym samym projekcie ( i folderze). Przeszukałem google i to forum i na prawdę nie mam zielonego pojęcia jak to zrobić. Chciałbym dojść do tego sam ale zaczynam wątpić że sobie z tym poradzę. Jeśli to możliwe to proszę o jeszcze jakąś wskazówkę.
P-20487
DejaVu
» 2010-08-06 03:52:21
Jeżeli używasz środowiska programowania to informuję, że należy dodać wszystkie tworzone pliki do projektu. Budowa plików została opisana w dokumencie http://kursy.ddt.pl/?LessonId=117. To, że 'działało' Ci kiedyś rozwiązanie, które przedstawiłeś to nie znaczy, że rozwiązanie było poprawne. Zastosuj się do porad, które umieściłem w niniejszym poście.
P-20490
021995
» 2010-08-06 03:59:18
<< removed by malan >>
P-20492
huberthx
Temat założony przez niniejszego użytkownika
» 2010-08-06 15:25:01
Dziękuję za pomoc. Problem rozwiązany.
P-20512
« 1 »
  Strona 1 z 1