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

przekazywanie objektu do metody innej klasy

Ostatnio zmodyfikowano 2015-11-29 18:57
Autor Wiadomość
polsky77
Temat założony przez niniejszego użytkownika
przekazywanie objektu do metody innej klasy
» 2015-11-29 18:57:55
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:

C/C++
#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;

C/C++
#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

C/C++
#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

C/C++
#ifndef boisko_H
#define boisko_H

#include "zawodnik.h"



class boisko

{
   
    void poz_zaw( const zawodnik & gracz1 );
   
};

#endif

numer = nr;

}

plik boisko.cpp

C/C++
#include "boisko.h"
#include "zawodnik.h"

void boisko::poz_zaw( const zawodnik & gracz1 )

{
   
    cout << " pozycjonowanie : " << "# " << numer << " " << nazwisko << " " << pozycja << " szybkosc " << szybkosc << endl; // tutaj wyskakuje bład
   
}

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??

P-141114
« 1 »
  Strona 1 z 1