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

Как создать элемент вектора пользовательского типа(класса)? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Комментировать! http://www.cyberforum.ru/cpp-beginners/thread811151.html
Ребят помогите пожалуйста закомментировать! #include <iostream> #include <algorithm> #include <cmath> #include <locale.h> int main() { int a = {5, -34, 6, 1, -4}; int i = 0;
C++ ошибка Heap corruption detected Доброго времени суток! подскажите пожалуйста что я не так сделал. При запуске программы вылетает ошибка в строке 34 // d.cpp: главный файл проекта. #include <stdafx.h> #include <fstream> #include <iostream> void construction_pyramid(int *a,int *l,int *r); void sort(int *a,int n); http://www.cyberforum.ru/cpp-beginners/thread811124.html
Алгоритм Шелла C++
Приветствую, CyberForum. Пересмотрел много видео про Алгоритм Шелла, где плясали и роботы показывали наглядно как всё это делается, но в итоге до моего тугово мозго это не дошло, можете наглядно показать, как будет работать метод Шелла, для вот такого массива 10 9 8 7 6 5 4 3 2 1
C++ Цикл с заданным интервалом
Помоги организовать цикл,что бы он выполнялся через заданный промежуток времени.(Visual Studio)
C++ не находит std::to_string http://www.cyberforum.ru/cpp-beginners/thread811091.html
Не пойму что не так, выдает ошибку error: 'to_string' is not a member of 'std' Версия gcc 4.7.2-5 #include <iostream> #include <string> int main(void) { for (int i = 999; i > 100; i--) {
C++ написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки. У меня программа не считывает текст из файла. Почему??? подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12288 / 6975 / 784
Регистрация: 27.09.2012
Сообщений: 17,286
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 00:34     Как создать элемент вектора пользовательского типа(класса)?
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// Snake.cpp : Defines the entry point for the console application.
//
 
#include <iostream>
#include <string>
#include <vector>
#include <conio.h>
using namespace std;
 
//!!!!!Класс SnakePart вынес перед main, чтобы можно было работать с ним.
class SnakePart
{
private:
    short xClass;
    short yClass;
 
public:
    short getLocationX()
    {
        return xClass;
    }
    short getLocationY()
    {
        return yClass;
    }
 
    SnakePart (short iDirrection, short *sHeadX, short *sHeadY)
    {
        switch (iDirrection)
        {
        case 72: //up
            //создает голову змеи в новом месте
            xClass=*sHeadX;
            yClass=*sHeadY+1;
            //меняет координаты головы
            *sHeadY+=1;
            break;
        case 80: //down
            xClass=*sHeadX;
            yClass=*sHeadY-1;
            *sHeadY-=1;
            break;
        case 77: //right
            xClass=*sHeadX+1;
            yClass=*sHeadY;
            *sHeadX+=1;
            break;
        case 75: //left
            xClass=*sHeadX-1;
            yClass=*sHeadY;
            *sHeadX-=1;
            break;
        }
    }
     ~SnakePart(){/*!!!!!Деструктор нужно определить!!!!!*/};
};
 
 
void DrawScreen (vector<SnakePart> snake)
{
    //задает в 2мерный массив местоположение всех частей змеи в нем
    char cPlayZone[50][50];
        for (int i=0; i<snake.size(); ++i)
        {
            short xX=snake[i].getLocationX(), yY=snake[i].getLocationY();
            cPlayZone[xX][yY]='X';
        }
 
    //выводит игровую зону обведенную #
    cout<<"####################################################"<<endl;
    for (int i=0; i<52; ++i)
    {
        cout<<"#";
        for (int j=0; j<50; ++j)
        {
            cout<<cPlayZone[i][j];
        }
        cout<<"#"<<endl;
    }
    cout<<"####################################################"<<endl;
}
 
 
 
int main()
{
    short xHead=1, yHead=1, dir=77;
 
    //игровая зона состоящая из пробелов
    char cPlayZoneArray[50][50];
    for (int i=0; i<52; ++i)
        for (int j=0; j<52; ++j)
            cPlayZoneArray[i][j]=' ';
 
    vector<SnakePart> vSnake;
    
    
 
    for (bool bExit=true; bExit; )
    {
        vSnake.push_back(SnakePart(dir, &xHead, &yHead));//!!!!!!!!!!!!!!В векторе объекты, а не указатели
        DrawScreen (vSnake);
    }
 
 
    return 0;
}
Добавлено через 1 минуту
В DrawScreen лучше передавать ссылку на вектор

Добавлено через 1 минуту
Цитата Сообщение от CollSpack Посмотреть сообщение
И вообще он сильно ругается на 20 строку...
Опережающее объявление класса лишь указывает, что такой класс есть, но не информирует о его методах и данных. Поэтому и получается ошибка, что класс не определен.
 
Текущее время: 16:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru