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

Перечисление для дурака - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ как подключить mingv к Sublime Text 2? http://www.cyberforum.ru/cpp-beginners/thread639570.html
Как подключить mingv к Sublime Text 2? Из командной строки mingv работает, значит в путях есть. Что и где нужно прописать в Sublime Text 2? Google не рулит.
C++ Приложение падает на другом компе ОС Ubuntu-64 linux. Написал, отладил и скомпилировал приложение на домашнем ноутбуке. Приношу на работу (там тоже Ubuntu-64) готовый скомпилированный файл, запускаю и спустя некоторое время приложение падает. Запустил через valgrind - он вываливает каждый раз ошибки там, где их нет. Ошибки в основном про Invalid write: ==3863== Invalid write of size 8 ==3863== at 0x47F735: main... http://www.cyberforum.ru/cpp-beginners/thread639566.html
C++ Несколько действий одновременно
Мне нужно чтобы во во время работы программа одновременно делала несколько действий.. Подскажите какую функцию нужно для этого использовать и как???
Анти вредоносные программе в игре C++
Как сделать скрипт проверки на программу ,то есть игрок входит в игру и включает её ,она принимает какие либо меры . Вот сома программа ,она напоминает вирус .
C++ Количество строк в файле http://www.cyberforum.ru/cpp-beginners/thread639523.html
Вот написал простенькую программу для подсчета строк в файл все работает но мучают сомнения почему везде где я бы не читал все делают по другому. Вот сама программа: #include <iostream> #include <fstream> #include <string> using namespace std; int main() { setlocale(0,""); int x = 0;
C++ Задача из Bjarne Stroustrup (Глава 12,7 №2)Графическая линия в консоли(в стиле ASCII) Глава 12,7 №2. Implement a simple graphics system using whatever graphics facilities are available on your system (if you don’t have a good graphics system or have no experience with one, you might consider a simple ‘‘huge bit ASCII implementation’’ where a point is a character position and you write by placing a suitable character, such as * in a position): Window (n,m) creates an area of size... подробнее

Показать сообщение отдельно
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
19.08.2012, 10:38  [ТС]     Перечисление для дурака
Дабы не плодить нехороший код и множество похожих тем, спрошу прямо здесь.
Вот что у меня пока есть:

Класс Card
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Card.h
 
class Card {
public:
    enum Suit  { HEARTS, CLUBS, DIAMONDS, ACES };
    enum Value { SIX = 6, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE };
       
    Card( Suit, Value );
    
    void setSuit( Suit );
    Suit suit() const;
    
    void setValue( Value );
    Value value() const;
 
private:
    Suit suit_;
    Value value_;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Card.cpp
 
#include "Card.h"
 
Card::Card( Card::Suit s, Card::Value v ) : suit_( s ), value_( v ) {
            
}
 
void Card::setSuit( Card::Suit s ) {
    suit_ = s;
}
 
Card::Suit Card::suit() const {
    return suit_;
}
 
void Card::setValue( Card::Value v ) {
    value_ = v;
}
 
Card::Value Card::value() const {
    return value_;
}

и класс Deck (колода)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Deck.h
 
#include "Card.h"
#include <vector>
using namespace std;
 
class Deck {
public:
    Deck();
    
    void shuffle();
    Card getCard();
    
    int getSize() const;
       
private:
    vector< Card > deck;   
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Deck.cpp
 
#include "Deck.h"
#include <algorithm>
 
Deck::Deck() {
    for( Card::Suit s = Card::HEARTS; s <= Card::ACES; ++s )
        for( Card::Value v = Card::SIX; v <= Card::ACE; ++v ) {
            Card c( s, v );
            deck.push_back( c );
        }
}
 
void Deck::shuffle() {
    random_shuffle( deck.begin(), deck.end() );
}
 
Card Deck::getCard() {
    Card c = deck.back();
    deck.pop_back();
    
    return c; 
}
 
int Deck::getSize() const {
    return deck.size();
}


Так вопрос вот в чем: эта штука не компилируется, говорит что в конструкторе Deck не определен operator++ для s и v. Как сделать это нормально?
Жутко не хочется делать уродливые (в данном случае) циклы вроде ОТ 0 ДО 3, а потом приводить типы.
 
Текущее время: 05:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru