Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SAUtrade
13 / 13 / 1
Регистрация: 21.10.2012
Сообщений: 140
#1

Фызов функции из класса - C++

12.01.2013, 00:03. Просмотров 235. Ответов 3
Метки нет (Все метки)

Есть два класса один класс отвечает за создание колоды, ее перемешивания. А другой за создание игры..
Вопрос вот в чем как мне организовать вызов функции создания и тосовки колоды в классе игры??

Код
//TwentyOneGame.h

#include "Player.h"

class TwentyOneGame{
	Player dealer;
	Player gamer;
public:
	void startGames();
	void NewGames();
	void ShowPlayer(Player&);
	void Show();
	void addPlayerCard(Player&, Card_Batch);
	void CalculateScore(Player& gamer);
};
Код
//TwentyOneGame.cpp

#include <iostream>
#include "TwentyOneGame.h"
#include <stdlib.h>
using namespace std;

void TwentyOneGame::NewGames(){
	system("cls");
	dealer.Drop();
	gamer.Drop();
В этом месте должна вызваться функция создания колоды и ее перемешивание...
	
}


void TwentyOneGame::addPlayerCard(Player& gamer, Card_Batch cards){
	gamer.GetCardBatch().AddCard();
}
.
.
.


Код
//Card_Batch.cpp

#include <iostream>
#include "CardBatch.h"
#include <ctime>

using namespace std;

Card_Batch::Card_Batch(){
	const int size = 52;
	count = 0;
	cards = new Card[size];
}

//Эти две функции должны вызваться в TwentyOneGame
//Создание колоды карт
void Card_Batch::setCard_Batch(){
	for(int i = 0; i < 52; i++){
		int f = (i%13) + 2;
		Suit s = Suit(i/13);
		cards[i].setCard(f, s);
	}
}

//Тусуется колода карт
void Card_Batch::Shuffle(){
	srand (unsigned(time(NULL)));
	for(int i = 0; i < 52; i++){
		int k = rand()%52;		//выбираем случайную карту
		Card temp = cards[i];	//и меняем ее с текущей
		cards[i] = cards[k];
		cards[k] = temp;
	}

}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2013, 00:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Фызов функции из класса (C++):

Какими способами можно использовать функции класса B, как параметры функции Sub класса А? - C++
class A {... void Sub(...); ...} class B : ... { public: float f1(float); float f2(float); ...

Как обраиться к функции класса через другую функцию класса (друга)? - C++
Пример кода: #include &lt;iostream&gt; using namespace std; class Sasha; class Petya { public: friend class Sasha; ...

Удаление экземпляра класса в функции самого класса (Ошибка при отладке) - C++
Допустим, у нас есть класс Buffer, который хранит в себе указатель на класс некоторой матрицы и количество этих указателей refcounter ...

Возможно ли создание объекта шаблонного класса в функции этого класса? - C++
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон контейнера (множество) с операциями...

Создание статической функции класса, которая принимает экземпляр этого же класса как объект - C++
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...

Изменение статического закрытого элемента данных класса посредством статической элемент-функции класса - C++
Добрый день. Не могу разобраться, как изменить закрытую статическую переменную класса. Вот код. Ошибка &quot;unresolved external&quot;. ...

3
zvoronz
271 / 239 / 21
Регистрация: 29.05.2012
Сообщений: 889
12.01.2013, 00:07 #2
Добавь в класс игры ссылку на объект колоды. Так же как сделал с Player и обращайся потом к любым методам класса.
1
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
12.01.2013, 00:12 #3
сделай как с класом Player
1
SAUtrade
13 / 13 / 1
Регистрация: 21.10.2012
Сообщений: 140
12.01.2013, 00:31  [ТС] #4
Цитата Сообщение от zvoronz Посмотреть сообщение
Добавь в класс игры ссылку на объект колоды. Так же как сделал с Player и обращайся потом к любым методам класса.
Card_Batch& Deck();

У меня такой вопрос или нужно какието параметры передавать...

Ошибку выбивает...
TwentyOneGame.obj : error LNK2019: unresolved external symbol "public: class Card_Batch & __thiscall TwentyOneGame:eck(void)" (?Deck@TwentyOneGame@@QAEAAVCard_Batch@@XZ) referenced in function "public: void __thiscall TwentyOneGame::NewGames(void)" (?NewGames@TwentyOneGame@@QAEXXZ)

Добавлено через 2 минуты
Все раазобрался)
0
12.01.2013, 00:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2013, 00:31
Привет! Вот еще темы с ответами:

Как полю класса А обратится к приватной функции класса А? - C++
Есть лифт (класс &quot;Elevator &quot;), в котором находится кнопка (класс &quot;Button&quot;). При нажатии на кнопку (функция &quot;push&quot;) должен пойти сигнал в...

Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса? - C++
//Щас всё объясню. Так, имеем два класса, в одном я определил функцию-член. Все конструкторы и прочее //опущены для уменьшения кода ...

Как описывать функции, заданные в шаблоне класса, тип возвращаемого значения которых совпадает с именем класса - C++
Здравствуйте. А как описывать функции, заданные в шаблоне класса, тип возвращаемого значения которых совпадает с именем класса? Более...

класс «Строка» (данные-члены класса – строчка, функции-члены класса – операции) - C++
Помогите пожалйуста с реализацией программы... Реализовать класс «Строка» (данные-члены класса – строчка (указатель на массив, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru