Pisze program w kotrym klasa wr dziedziczy z klasy zawodnik wszystkie argumenty. Klasa wr jest rozszerzona wzgledem klasy zawodnik o metody.
Niestety w trakcie kompilacji wyskakuje blad:(
plik main:
#include "boisko.h"
#include "zawodnik.h"
#include "wr.h"
#include <iostream>
using namespace std;
extern boisko ekran;
int *tablica;
int *krok;
int *sciezka;
int *gracz;
int *pozycja;
int main()
{
wr gracz[4];
wr gracz[0]("WR",9, 81,1,0, pozycja[0],sciezka[0]);
wr gracz[1]("WR",7,82,2,0, pozycja[1],sciezka[1]);
wr gracz[2]("WR",4, 83,3,0, pozycja[2],sciezka[2]);
wr gracz[3]("WR",3,84,4,0, pozycja[3],sciezka[3]);
plik zawodnicy.h:
#ifndef ZAWODNIK_H_
#define ZAWODNIK_H_
#include <iostream>
#include<cstring>
using namespace std;
class zawodnik
{
char nazwisko[40];
int szybkosc;
int numer;
int ktory_gracz;
int pozycja;
int sciezka;
int krok;
public:
zawodnik ( const char* nazwa,int speed,int nr,int kt_gracz, int step, int poz, int way)
{
strcpy(nazwisko,(nazwa? nazwa:"Anonim"));
szybkosc=speed;
pozycja=poz;
numer=nr;
ktory_gracz=kt_gracz;
sciezka=way;
step=krok;
}
friend class boisko;
};
#endif
plik wr.h:
#ifndef WR_H_
#define WR_H_
#include <iostream>
using namespace std;
class wr: public zawodnik
{
public:
wr(const char* nazwa,int speed,int nr,int kt_gracz, int step, int poz, int way )
:zawodnik(const char* nazwa,int speed,int nr,int kt_gracz, int step, int poz, int way) // tu wyskakuje blad
{
}
void quick_out( int *krok,int *sciezka, int czas, int z);
void slant( int *krok,int *sciezka, int czas, int z);
void out( int *krok,int *sciezka, int czas, int z);
void in( int *krok,int *sciezka, int czas, int z);
void w_prawo( int *krok,int *sciezka, int czas, int z);
void w_lewo( int *krok,int *sciezka, int czas, int z);
friend class boisko;
};
#endif
Komunikat po uruchomieniu kompilatora:
== Build: Debug in mecz (compiler: Copy of GNU GCC Compiler) ===
D:\C++\mecz\boisko.h|18|warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]|
D:\C++\mecz\boisko.h|19|warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]|
D:\C++\mecz\wr.h||In constructor 'wr::wr(const char*, int, int, int, int, int, int)':|
D:\C++\mecz\wr.h|16|error: expected primary-expression before 'const'|
D:\C++\mecz\wr.h|16|error: expected primary-expression before 'int'|
D:\C++\mecz\wr.h|16|error: expected primary-expression before 'int'|
D:\C++\mecz\wr.h|16|error: expected primary-expression before 'int'|
D:\C++\mecz\wr.h|16|error: expected primary-expression before 'int'|
D:\C++\mecz\wr.h|16|error: expected primary-expression before 'int'|
D:\C++\mecz\wr.h|16|error: expected primary-expression before 'int'|
Czy możecie napisać co jest nie tak??
Dzieki za pomoc