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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
#1

Компиляция программы из нескольких исходных файдов - C++

06.01.2010, 15:31. Просмотров 1212. Ответов 5
Метки нет (Все метки)

Всем добрый день!
Поздравляю всех с Новым годом и Рождеством Христовым!

Проблема:
Класс "DeckOfCards" включает в себя всего две элемент-функции : тасования и раздачи всех карт
DeckOfCards.h - это прототипы функций и конструктора
DeckOfCards.срр - описание этих функций
Карты.срр - сама программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
//DeckOfCards.h
 
class DeckOfCards
{
public:
   DeckOfCards();
   void shufle();
   void deal();
   
private:
   int deck[4][13];
};
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//DeckOfCards.срр
 
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#include "DeckOfCards.h"
 
using namespace std;
 
DeckOfCards::DeckOfCards()
{
   for(int row=0;row<=3;row++)
      for(int column=0;column<=12;column++)
         deck[row][column]=0;
         
   srand(time(0));
}
 
void DeckOfCards::shufle()
{
   int row;
   int column;
   
   for(int card=1;card<=52;card++)
   {
      do
      {
         row=rand()%4;
         column=rand()%13;
      }while(deck[row][column]!=0);
      
      deck[row][column]=card;
   }
}
 
void DeckOfCards::deal()
{
   static const char *suit[4]={"Черви","Бубны","Трефы","Пики"};
   static const char *face[13]={"Туз","Двойка","Тройка","Четверка","Пятерка",
   "Шестерка","Семерка","Восьмерка","Девятка","Десятка","Валет","Дама","Король"};
   
   for(int card=1;card<=52;card++)
   {
      for(int row=0;row<=3;row++)
      {
         for(int column=0;column<=12;column++)
         {
            if(deck[row][column]==card)
            {
               cout<<setw(5)<<right<<face[column]<<" of "<<setw(8)
               <<left<<suit[row]<<(card%2==0 ? '\n' : '\t');
            }        
         }      
      }
   }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
//Карты.срр
 
#include "DeckOfCards.h"
 
int main()
{
    DeckOfCards deckOfCards;
    
    deckOfCards.shufle();
    deckOfCards.deal();
    return 0;
}
При компиляции Карты.срр выбивает :
In function `main':
[Linker error] undefined reference to `DeckOfCards::DeckOfCards()'
[Linker error] undefined reference to `DeckOfCards::shufle()'
[Linker error] undefined reference to `DeckOfCards::deal()'
ld returned 1 exit status

Пользуюсь Dev C++ 4.9
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2010, 15:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Компиляция программы из нескольких исходных файдов (C++):

Компиляция исходных файлов - C++
Господа, добрый день. Имеется проект, написанный на C++. Мне необходимо, так сказать, лишь &quot;собрать его&quot;. Я сам не шибко программирую...

Компиляция нескольких файлов - C++
Здравствуйте, есть программа состоящая из 4 cpp, необходимо ее собрать, попытался собрать с помощью MinGW(взял тут...

Компиляция нескольких файлов - C++
Создал проект на wxDevC++ таким образом: потом создал три файла в проекте: coordin.h #ifndef COORDIN_H_ #define COORDIN_H_...

Компиляция и компоновка нескольких файлов - C++
Добрый день уважаемые форумчане. Продолжая изучать учебник &quot;How to Prgoramm C++&quot; я наткнулся на материал, в котором описывается код, точнее...

Компиляция программы - C++
У меня вот такая проблема, я вот как два часа учусь программировать на это потрясающем языке, и естественно столкнулся с проблемой,...

компиляция программы на с - C++
Привет всем. У меня такая проблема. Я написал программу на С именно на С а не на С++. Написал я её в notepad++ а вот скомпилировать немогу....

5
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
06.01.2010, 15:32 #2
Вы на DEV-C++ проект собираете?
0
dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
06.01.2010, 15:37  [ТС] #3
Нет это просто пример (с книги) компиляции нескольких исходников . Дальше мне надо будет добавить и другие функции : определение наличия пары, каре и т.д.
0
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
06.01.2010, 15:40 #4
Насколько я знаю чтобы на Dev-C++ скопилировать несколько исходников .cpp одновременно, нужно создать проект, иначе он и будет выдавать всякие undefined reference потому что он у Вас действительно не определен
0
easybudda
Модератор
Эксперт CЭксперт С++
9681 / 5631 / 954
Регистрация: 25.07.2009
Сообщений: 10,808
06.01.2010, 16:55 #5
Цитата Сообщение от vet Посмотреть сообщение
Насколько я знаю чтобы на Dev-C++ скопилировать несколько исходников .cpp одновременно, нужно создать проект, иначе он и будет выдавать всякие undefined reference потому что он у Вас действительно не определен
В его (Dev-C++) консоли:
Код
g++ -o cards.exe cards.cpp DeckOfCards.срр
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,339
Завершенные тесты: 1
06.01.2010, 18:23 #6
Цитата Сообщение от dyosick Посмотреть сообщение
[Linker error] undefined reference to `DeckOfCards:eckOfCards()'
[Linker error] undefined reference to `DeckOfCards::shufle()'
[Linker error] undefined reference to `DeckOfCards::deal()'
попробуйте так
C++
1
2
3
DeckOfCards block;
block.shufle();
block.deal();
одним словом говоря создать объект
0
06.01.2010, 18:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2010, 18:23
Привет! Вот еще темы с ответами:

Компиляция программы - C++
Здравствуйте, уважаемые программисты!! Помогите, пожалуйста, откомпилить программу, напишите кто-нибудь! Код программы потом пришлю!!! ...

Компиляция программы VS2010 - C++
Когда компилирую программу (Debug) всё нормально. Но если выбрать (Release) то появляются куча ошибок: ...

Запуск программы и ее компиляция - C++
Здравствуйте, мне тут друг скинул прогу, а я ее запустить не могу, вот список файлов: main.cpp string1.cpp string1.h str.1 main.o...

C++ Компиляция простой MPI программы - C++
Доброго вечера, в DevC++ 5.4.2 с использованием технологии MPI, MPICH2 (Настройка компилятора MinGW GCC 4.7.2 32-bit) пытаюсь запустить...


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

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

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