Zrobilem dwie klasy zawodnik i boisko.
Klasa boisko tworzy objekt ekran. Z klasy zawodnik powstaje objekt gracz1.
Problem polega na tym ze chcialbym wsadzic obiekt gracz jako argument do metody objektu ekran.
Wygląda to tak:
plik main:
#include "boisko.h"
#include "zawodnik.h"
using namespace std;
int main()
zawodnik gracz1;
gracz1.zapamietaj( "TE", 1, 78, pozycja1 );
ekran.poz_zaw( gracz1 );
plik zawodnik.h;
#ifndef ZAWODNIK_H_
#define ZAWODNIK_H_
#include <iostream>
class zawodnik
{
char nazwisko[ 40 ];
int szybkosc;
int numer;
int pozycja;
public:
void zapamietaj( const char * nazwa, int speed, int nr, int poz );
}
plik zawodnik.cpp
#include "zawodnik.h"
#include<cstring>
using namespace std;
void zawodnik::zapamietaj( const char * nazwa, int speed, int nr, int poz )
{
strcpy( nazwisko,( nazwa ? nazwa: "Anonim" ) );
szybkosc = speed;
pozycja = poz;
numer = nr;
}
plik boisko.h
#ifndef boisko_H
#define boisko_H
#include "zawodnik.h"
class boisko
{
void poz_zaw( const zawodnik & gracz1 );
};
#endif
numer = nr;
}
plik boisko.cpp
#include "boisko.h"
#include "zawodnik.h"
void boisko::poz_zaw( const zawodnik & gracz1 )
{
cout << " pozycjonowanie : " << "# " << numer << " " << nazwisko << " " << pozycja << " szybkosc " << szybkosc << endl;
}
Bład ktory wyskakuje to:
||=== 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\boisko.cpp||In member function 'void boisko::poz_zaw(const zawodnik&)':|
D:\C++\mecz\boisko.cpp|408|error: 'numer' was not declared in this scope|
D:\C++\mecz\boisko.cpp|408|error: 'nazwisko' was not declared in this scope|
D:\C++\mecz\boisko.cpp|408|error: 'pozycja' was not declared in this scope|
D:\C++\mecz\boisko.cpp|408|error: 'szybkosc' was not declared in this scope|
||=== Build failed: 4 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|
Rozumiem ze nie mam zadeklarowanych zmieniennych. Ale dlaczego? przecież przesłałem obiekt gracz1?
Co robię źle??