Mam odtwarzacz klasy, a niektóre z podklasy Player1, Player2, Player3 rozszerzają odtwarzacz za pomocą C++.
Gracz klasy ma metodę "run", a wszyscy gracze1,2,3 nadpisują "run", aby robić różne rzeczy.
Jak używać wątku C++ 11 z metodą instancji?
class Player {
public:
virtual void run();
}
class Player1: public Player {
public:
void run();
}
w "głównych" funkcja utworzyć pewne wystąpienie Player1,2,3
i niektóre C++ 11 gwintu połączenia Metoda "run" tych przykład.
int main() {
Player1 player1;
Player2 player2;
Player3 player3;
Thread thread1(player1.run, this);
Thread thread2(player2.run, this);
Thread thread3(player3.run, this);
thread1.join();
thread2.join();
thread3.join();
return 0;
}
próbowałem i wiem, że to nie działa,
więc próbuję użyć innej funkcji do wywołania metody instancji.
function doRun1(Player1 player){
player.run();
}
int main() {
Player1 player1;
Player2 player2;
Player3 player3;
Thread thread1(doRun1, player1);
Thread thread2(doRun2, player2);
Thread thread3(doRun3, player3);
thread1.join();
thread2.join();
thread3.join();
return 0;
}
ten sposób wydaje się rozwiązać problem, ale muszę tworzyć doRun1, doRun2, doRun3 .... wiele funkcji,
ponieważ parametr doRun1,2,3 należy zadeklarować co jest Gracz1 , 2 lub 3
Nie mogę wymyślić lepszego rozwiązania, czy ktoś może mi pomóc @@?
Co C11 ma z tym wspólnego? Czym dokładnie jest "Wątek", jaki jest podpis tego konstruktora? – Mat
Wow. Czy C11 ma również klasy? – juanchopanza
Przepraszam, moja wina ... Wiedziałem, co to jest to pytanie @@. Mam na myśli C++ 11, a nie C11, poprawię to ... wybacz mi –