-
Data: 2009-07-02 20:25:53
Temat: Re: dziedziczenie c++
Od: Tomasz Bywalec <t...@p...dont.spam.me.o2.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]larry2003 pisze:
> Użytkownik "Jacek Czerwinski" <...@...z.pl> napisał w wiadomości
> news:h2j2cq$n7a$1@news.onet.pl...
[...]
>> Domyślam się (nie piszesz o tym, zgaduję) że w silowy.h trzeba includować
>> footbal.h (nazwy plików przypuszczalne)
>>
>
> Ok, czyli jak rozumiem silowy.h powinien wyglądać następująco:
>
> #include "football.h"
> class Silowy : public Football
> {
> public:
> int ile;
> Silowy(int d);
> Silowy();
> void przepychanie_w_polu(void);
> void umiejetny_faul(void);
> void gra_glowa(void);
> };
> z tym że z taką wersją silowy.h kompilator wyrzuca:
>
> g++ -c zaliczenie.cpp
> In file included from silowy.h:1,
> from zaliczenie.cpp:2:
> football.h:1: error: redefinition of 'class Football'
> football.h:3: error: previous definition of 'class Football'
> make: *** [zaliczenie.o] Error 1
>
>
To by mogło oznaczać, że w 'zaliczenie.cpp' już include'ujesz
plik 'football.h' i kompilator dostaje definicję klasy
Football zdublowaną (tylko dlaczego w takim razie wcześniej
pojawiał się błąd przy kompilacji klasy Silowy?).
Ale, tak czy owak, możesz spróbować dodać include-guard'y do
swoich plików nagłówkowych (z tego co widzę brakuje ich w Twoim
programie). To w zasadzie podstawy pisania w C++ więc i tak
Ci się to przyda. Na początku i końcu pliku football.h dodajesz
następujące 3 linijki:
#ifndef FOOTBALL_H_INCLUDED
#define FOOTBALL_H_INCLUDED
// tu zawartość pliku
#endif
a w silowy.h prawie to samo, ale nieco inaczej:
#ifndef SILOWY_H_INCLUDED
#define SILOWY_H_INCLUDED
// tu zawartość pliku
#endif
i podobnie w innych plikach nagłówkowych.
Ta "sztuczka" zapobiega kilkukrotnemu załączeniu jednego pliku
podczas kompilacji.
Symbole FOOTBALL_H_INCLUDED i SILOWY_H_INCLUDED są tylko przykładami -
równie dobrze mogłyby to być np. BLABLA111_X i TDTD_1234. Ważne
jest aby w danym pliku .h w linijce z #ifndef i #define użyty był
ten sam symbol i aby symbole te nie powtarzały się w różnych plikach
nagłówkowych.
Mam nadzieję że to pomoże w rozwiązaniu problemu.
Pozdrawiam,
Tomek Bywalec
Następne wpisy z tego wątku
- 02.07.09 20:44 larry2003
- 03.07.09 02:32 Mariusz Marszałkowski
- 03.07.09 08:19 Tomasz Bywalec
- 03.07.09 15:34 larry2003
- 03.07.09 19:24 Grzegorz Niemirowski
- 03.07.09 19:37 larry2003
- 03.07.09 20:00 Michoo
- 03.07.09 20:41 larry2003
- 03.07.09 21:25 thearti
- 03.07.09 21:49 Bronek Kozicki
- 03.07.09 22:18 Michoo
- 04.07.09 02:02 Mariusz Marszałkowski
- 04.07.09 02:07 A.L.
- 04.07.09 02:05 Mariusz Marszałkowski
- 04.07.09 02:08 A.L.
Najnowsze wątki z tej grupy
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
Najnowsze wątki
- 2025-03-20 Grubość socketa AM4+procesor
- 2025-03-20 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?