-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "larry2003" <l...@i...pl>
Newsgroups: pl.comp.programming
Subject: Re: dziedziczenie c++
Date: Fri, 3 Jul 2009 17:34:59 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 141
Message-ID: <h2l8f9$c1j$1@inews.gazeta.pl>
References: <h2j1it$ghr$1@inews.gazeta.pl> <h2j2cq$n7a$1@news.onet.pl>
<h2j3k4$ppn$1@inews.gazeta.pl> <h2j58o$gbm$1@atlantis.news.neostrada.pl>
<h2j673$7rh$1@inews.gazeta.pl> <h2kfh4$7tf$1@nemesis.news.neostrada.pl>
NNTP-Posting-Host: 87-205-89-247.adsl.inetia.pl
X-Trace: inews.gazeta.pl 1246635306 12339 87.205.89.247 (3 Jul 2009 15:35:06 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 3 Jul 2009 15:35:06 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-Priority: 3
X-RFC2646: Format=Flowed; Response
X-User: cezaryk2008
X-Antivirus: avast! (VPS 090702-0, 2009-07-02), Outbound message
X-MSMail-Priority: Normal
X-Antivirus-Status: Clean
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
Xref: news-archive.icm.edu.pl pl.comp.programming:182502
[ ukryj nagłówki ]
Użytkownik "Tomasz Bywalec" <t...@p...dont.spam.me.o2.pl> napisał w
wiadomości news:h2kfh4$7tf$1@nemesis.news.neostrada.pl...
> larry2003 pisze:
> [...]
>> i po dodaniuch tych trzech linijek w każdym *.h wracam do punktu wyjścia
>> :)
>>
>> g++ -c silowy.cpp
>> In file included from silowy.cpp:1:
>> silowy.h:5: error: expected class-name before '{' token
>> make: *** [silowy.o] Error 1
>>
>
> Błąd występuje podczas kompilacji pliku silowy.cpp którego źródła nie
> pokazałeś - przypuszczam, że nie include'ujesz tam pliku "football.h",
> w związku z czym przy parsowaniu zawartości "silowy.h" klasa Football
> jest nieznana.
>
> Spróbuj z powrotem dodać do pliku silowy.h include dołączający plik
> football.h, tak aby początek pliku silowy.h wyglądał tak:
>
> #ifndef SILOWY_H_INCLUDED
> #define SILOWY_H_INCLUDED
>
> #include "football.h"
>
> class Silowy : public Football
> ... i dalej reszta pliku...
>
> W ten sposób za każdym razem gdy dołączana jest definicja klasy Silowy
> jednocześnie dołączana jest definicja klasy Football, oraz jesteś
> zabezpieczony przed kilkukrotnym zainclude'owaniem definicji tej
> samej klasy (include guardy).
>
> Mam nadzieję że teraz wszystko ruszy :)
> Pozdrawiam,
> Tomek Bywalec
Ehh i kolejny problem:) a podobno programowanie jest takie przyjemne :)
football.h wyglada tak
#ifndef FOOTBALL_H_INCLUDED
#define FOOTBALL_H_INCLUDED
class Football
{
public:
int ile;
Football(int d);
Football();
void podaj(void);
void strzel(void);
void dosrodkuj(void);
void odb_pilke(void);
void drybluj(void);
void bron(void);
};
#endif
silowy.h:
#ifndef SILOWY_H_INCLUDED
#define SILOWY_H_INCLUDED
#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);
};
#endif
zaliczenie.cpp:
#include "football.h"
#include "silowy.h"
int main()
{
Football *f1;
f1=new Football(1);
f1->podaj();
f1->dosrodkuj();
delete f1;
Silowy *s1;
s1=new Silowy(1);
s1->przepychanie_w_polu();
s1->umiejetny_faul();
delete s1;
return 0;
}
silowy.cpp tak:
#include "silowy.h"
#include <iostream>
Silowy::Silowy(int d)
{
ile=d;
}
void Silowy::gra_glowa(void)
{
for (int i=0;i<ile;i++)
std::cout<<"Silowy->gra_glowa()\n";
}
void Silowy::przepychanie_w_polu(void)
{
for (int i=0;i<ile;i++)
std::cout<<"Silowy->przepychanie_w_polu()\n";
}
void Silowy::umiejetny_faul(void)
{
for (int i=0;i<ile;i++)
std::cout<<"Silowy->umiejetny_faul()\n";
}
i w rezultacie po kompilacji:
g++ -o zaliczenie zaliczenie.o football.o silowy.o
silowy.o: In function `Silowy::Silowy(int)':
silowy.cpp:(.text+0x105): undefined reference to `Football::Football()'
silowy.o: In function `Silowy::Silowy(int)':
silowy.cpp:(.text+0x121): undefined reference to `Football::Football()'
collect2: ld returned 1 exit status
make: *** [zaliczenie] Error 1
Następne wpisy z tego wątku
- 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.
- 04.07.09 02:09 A.L.
- 04.07.09 02:16 Mariusz Marszałkowski
- 04.07.09 02:42 A.L.
Najnowsze wątki z tej grupy
- 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
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-12 Autocom CAN CDP+ wysokie kody błędów
- 2024-12-13 termostat do lodowki
- 2024-12-13 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-13 Warszawa => Head of International Freight Forwarding Department <=
- 2024-12-13 Poznań => Employer Branding Specialist <=
- 2024-12-13 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-13 Kraków => Business Development Manager - Network and Network Security
- 2024-12-13 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-13 Gdańsk => Programista Full Stack .Net <=
- 2024-12-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-12-13 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2024-12-13 Wrocław => Application Security Engineer <=
- 2024-12-13 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-13 Lublin => Programista Delphi <=
- 2024-12-13 Chrzanów => Specjalista ds. public relations <=