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

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

Войти
Регистрация
Восстановить пароль
 
Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
#1

Ошибка в классе - C++

19.04.2013, 18:35. Просмотров 228. Ответов 2
Метки нет (Все метки)

У меня есть класс Player и класс Poker

Прототип Player
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class Player {
  protected:
      string name;
      int money;
      int rating;
  public:
      Player();
      void set_name(string str);
      void set_money(int wined_money);
      void set_rating(int new_rating);
      string get_name();
      int get_money();        
};


Описание функций Player
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Player::Player(){
    money = 100;
    rating = 0;
}
void Player::set_name(string str){
          name = str;
      }
string Player::get_name(){
    return name;
      }
int Player::get_money(){
    return money;
}
void Player::set_money(int wined_money){
    money += wined_money;
}
void Player::set_rating(int new_rating){
    rating = new_rating;
}


Прототип Poker
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
class Poker : public Game {
public:
    friend class Player;
    void play_game(Player NAME, int money_gived);
};


Описание функций Poker
Кликните здесь для просмотра всего текста
C++
1
2
3
4
void Poker::play_game(Player NAME, int money_gived){
 
    NAME.set_money(money_gived);
}


Мейн
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void main(){
 
    setlocale(LC_ALL,"Rus");
    srand((unsigned)time(NULL));
 
    Player PEOPLE;  // Создание игрока
 
    cout << "Добро пожаловать в казино SVegas!!!" << endl;
    cout << "Как вас зовут?" << endl;
    string people_name;
    cout << ">> ";
    cin >> people_name;
    PEOPLE.set_name(people_name); // Ввод имени
   
    cout << PEOPLE.get_money();
    Poker POKER;
    POKER.play_game(PEOPLE, 90);
    cout << PEOPLE.get_money();
 
    cout << endl;
    system("pause");
}


Но функция POKER.play_game(PEOPLE, 90); не меняет значение... что не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2013, 18:35     Ошибка в классе
Посмотрите здесь:

Ошибка в классе - C++
Доброго времени суток! Недавно прочитал тему классы, посмотрел и инете видео-урок и решил закрепить материал созданием класса. Films.h...

Ошибка в классе - C++
Source.cpp: #include &quot;Str.h&quot; int main() { Str a; } Str.h:

Ошибка с полем в классе - C++
Пишу класс.Сюда его выкладывать не хочу,ибо он достаточно обширный.В классе доступе private задаю поле дескриптора файла.Тоесть что-то типо...

Необычная ошибка в классе - C++
class cPolygon { public: cPolygon() : head_(0) {}; void add_dott(POINT); ...

Ошибка перегрузки + в классе - C++
Не понимаю в чём проблема, ошибка возникает во время работы программы, сообщает что продолжается запись после работы этого блока. ...

Ошибка c char в классе - C++
Когда ввожу даные в второй char выдает ошибку, когда делаю, не в класе, а в int main() все работает, что делать? #include&lt;iostream&gt; ...

Ошибка в дочернем классе - C++
Не могу найти ошибку в дочернем классе, возможно не правильно написать main Задание и код: Код нужно переписывать в сообщение Только...

Ошибка в шаблонном классе - C++
Помогите исправить ошибку в 12 строчке: error C2248: CMyClass&lt;T&gt;::m_value: невозможно обратиться к private член, объявленному в классе...

Ошибка в классе итератора - C++
В общем, решил я написать для своего класса, реализующего двунаправленный список, написать итератор. Вроде бы все правильно, но при попытке...

Где ошибка в классе ? - C++
Если я делаю все то же самое в главной функции, то никакой ошибки нет. При создании класса windows не одобряет мои действия. ))) ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Develops
15 / 15 / 1
Регистрация: 19.02.2013
Сообщений: 40
19.04.2013, 18:37     Ошибка в классе #2
Потому что объект Player передаётся в метод play_game по значению.
Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
19.04.2013, 18:48  [ТС]     Ошибка в классе #3
Огромное спасибо! Совсем забыл про ссылки
Yandex
Объявления
19.04.2013, 18:48     Ошибка в классе
Ответ Создать тему
Опции темы

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