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

Вынесение кода в отдельный файл. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
WoodyArt
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 14
26.04.2010, 12:01     Вынесение кода в отдельный файл. #1
Чтобы понять ООП, пишу маленькую игрушку-пошаговый файтинг для курсовика. Пока консольный, linux.
Логически состоит она из "Меню" и "Битвы".
Пункты меню:
1. Битва //вызов модуля битвы.
2. Правила игры, Легенда, Об авторе //просто вывод текста из файла

Битва:
1. Классы персонажей //базовый и наследуемые
2. Функция CreateEnemy //рандомно выбирает оппонента.
3. Функция fight //в неё подсовываются два игрока чтобы подраться

Есть вопросы:
1 - что выносить в отдельные файлы? Ведь выносить определённо стоит - не компилировать же по 200 раз один и тот же кусок кода
2 - как выносить? На примере функции void func1(){//code}, если можно. И, если не трудно, объясните как выносить классы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2010, 12:01     Вынесение кода в отдельный файл.
Посмотрите здесь:

Вопрос по выносу кода в отдельный файл C++
Класс в отдельный файл C++
как вынести класс в отдельный файл? C++
C++ Си++, помещение комментариев из кода страницы в отдельный файл
Как вынести функцию с++ в отдельный файл C++
C++ Создайте файл Студент. Занесите в отдельный файл записи из файла Студент, добавив сведения о новых студентах
Не получается вынести класс в отдельный файл C++
C++ Функции в отдельный файл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
26.04.2010, 12:13     Вынесение кода в отдельный файл. #2
на прмере своего класса:

1)интерфейс класса - файл generateSudoku.h

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef  _generateSudoku_H_
#define _generateSudoku_H_
 
//интерфейс класса, эмулирующего генерацию судоку
 
class generateSudoku{
    public:
    generateSudoku(int sizeSudoku);
    ~generateSudoku(){};
    void generate();
    void show();
 
    private:
    const int ROWS;
    const int COLS;
    std::vector< std::vector<int> > mas;
};
 
#endif
2)реализация класса - файл generateSudoku.cpp

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
58
59
60
61
62
#include "generateSudoku.h"
 
generateSudoku::generateSudoku(int sizeSudoku): ROWS(sizeSudoku),COLS(sizeSudoku),mas( std::vector< std::vector<int> >(ROWS, std::vector<int>(COLS)) ){
}
 
void generateSudoku::show(){
    for (int i=0; i<ROWS; i++){
        for (int j=0; j<COLS; j++)
        std::cout<<mas[i][j]<<" ";
        std::cout<<std::endl;
    }
}
 
void generateSudoku::generate(){
 
 
    /*srand(time(NULL));
    for (int i=0; i<ROWS; i++)
    for (int j=0; j<COLS; j++){
 
        mas[i][j]=(1+rand()%ROWS);
    }*/
    bool ok=true;
    int k=0;
 
    int i=0;
    //srand(time(NULL));
    while(i<ROWS){
        int j=0;
        while (j<COLS){
 
 
            int curr_digit=(1+rand()%ROWS);
           /* std::cout<<curr_digit<<" "<<j<<std::endl;
                                        for (int i=0; i<ROWS; i++){
                                    for (int j=0; j<COLS; j++)
                                    std::cout<<mas[i][j]<<" ";
                                    std::cout<<std::endl;
                                }
            getch();*/
 
            for (int jj=0; jj<=j; jj++){
                if (mas[i][jj]==curr_digit){
                    ok=false;
                    break;
                } else ok=true;
            }
            if (ok){
                ok=true;
                mas[i][j]=curr_digit;
                j++;
            }
 
 
 
        }
        //j=0;
        i++;
    }
 
 
}
3)использование класса - файл main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
#include <conio.h>
#include <cstdlib>
#include "generateSudoku.h"
#include "generateSudoku.cpp"
 
 
int main()
{
 
    int sizeSudoku=9;
 
 
    generateSudoku sudoku(sizeSudoku);
    sudoku.generate();
    sudoku.show();
 
 
 
    return 0;
}
Yandex
Объявления
26.04.2010, 12:13     Вынесение кода в отдельный файл.
Ответ Создать тему
Опции темы

Текущее время: 13:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru