przekazywanie objektu do metody innej klasy

0

Hej;
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.
Gdy to robie wyskakuje informacja :

D:\C++\mecz\boisko.cpp|402|error: variable or field 'poz_zaw' declared void
D:\C++\mecz\boisko.cpp|402|error: 'gracz1' was not declared in this scope

plik main

 

#include "boisko.h"
#include "zawodnik.h"
#include <cstdlib>// czyszczenie ekranu
#include <iostream>
#include <conio.h> //getch()
#include <time.h>
#include <windows.h>

using namespace std;

int main()

 zawodnik gracz1, gracz2;

 gracz1.zapamietaj("TE",1, 78, pozycja1);

 ekran.poz_zaw(gracz1);

plik boisko.h:

 
#ifndef boisko_H
#define boisko_H

#include "zawodnik.h"



class boisko

{

    void poz_zaw(const char* nazwa, int speed, int nr, int poz);

};

#endif

plik boisko.cpp:

 

#include "boisko.h"
#include "zawodnik.h"

void boisko :: poz_zaw(gracz1)  // tutaj wyskakuje bład

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;

}
 

Proszę o radę :)

1
void poz_zaw(const char* nazwa, int speed, int nr, int poz);
void boisko::poz_zaw(gracz1)

Nie widać, że te rzeczy się różnią od siebie? Np. ilością argumentów? Poza tym jak definiujesz funkcję to podajesz również typ argumentu.

0

Czyli jest możliwe wsadzenie objektu do metody innej klasy?
Czy mogłbyś napisać mi przykład jak się robi wywolanie takiej metody?
Rozumiem ze bład tkwu tu:

void boisko::poz_zaw(gracz1)
 

Nie wiem jak powinna wygladac prawidłowa składnia:(

0

brakuje Ci podstaw, przerob sobie jakis tutorial o klasach z c++

1
#include <iostream>
using namespace std;

struct X {};
struct Y
{
	void foo(const X& x);	
};

void Y::foo(const X& x)
{
	cout << "olele olala\n";
}

int main() 
{
	X x;
	Y y;
	y.foo(x);
}
0

Dzieki :)
Działa ślicznie:)
Można zamknąć wątek:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1