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

Копирование контейнера vector в конструкторе (STL) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Изменить программу для типа unsigned char http://www.cyberforum.ru/cpp-beginners/thread790829.html
Подскажите пожалуйста, что нужно изменить в программе перевода числа, чтобы она правильно работала для введенного числа типа unsigned char,а не int. Когда меняю типы, программа выдаёт один и тот же...
C++ Error LNK2001: неразрешенный внешний символ Учусь по Страуструпу, решаю задание, нужно создать header файл и два cpp и заставить работать сообща. Почему-то VS12 матерится на использование переменной. Таких тем в интернете множество, но... http://www.cyberforum.ru/cpp-beginners/thread790828.html
про kernel32.dll C++
Доброго времени суток. Такой вопрос: Если прогой написаной на с++ создать в файле kernel32.dll поток то ето не повлияет на его работу? .Я сделал копию этого файла на рабочем столе. Предполагается...
Ограничение длины вводимых символов C++
Ребят помогите пожалуйста ограничить длину вводимых символов, а именно чисел через cin.getline вот код: #include <iostream> using namespace std; int main () { setlocale(0, "rus"); double A,...
C++ Исключения для формулы http://www.cyberforum.ru/cpp-beginners/thread790791.html
Рассчитать значение функции в заданной с консоли точке с учётом возможных ошибок её вы-числения. Учесть, что функция может иметь деление на аргумент или вычисление квадратного корня, поэтому, при...
C++ Нарисовать тучу, закрывающую солнце. Когда туча наполовину закрывает солнце, начинается дождь Нарисовать тучу, закрывающую солнце. Когда туча наполовину закрывает солнце, начинается дождь. подробнее

Показать сообщение отдельно
Magister
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 6

Копирование контейнера vector в конструкторе (STL) - C++

20.02.2013, 14:41. Просмотров 601. Ответов 4
Метки (Все метки)

Добрый день! У меня есть класс, в котором объявлен вектор указателей на объекты:
C++
1
2
3
4
5
6
7
8
9
10
class Schedule
{
public:
...
    Schedule(void);
    ~Schedule(void);
private:
    string day;
    vector<Lesson*> studies;
}
В своё время вызывается вектор этих объектов в функции main:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "Schedule.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int N = 5; //N - number of written days.
    vector<Schedule*> myPlan;
    Schedule **weekday = new Schedule*[N];
    for(int i=0; i < N; i++)
    {
        weekday[i] = new Schedule(); //cannot copy vector to weekday here :(
        myPlan.push_back(weekday[i]);
    }
...
}
Конструктор Schedule() выглядит так:
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
Schedule::Schedule(void)
{
    ifstream inClientFile("I22.dat", ios::in);
    if ( !inClientFile )
    {
        cerr << "File couldn't be opened!" << endl;
        exit(1);
    }
 
    int count; //How many lessons do we have?
    static int filePosition = 0;
 
    Lesson *newLesson = new Lesson();
    int  numero;
    string nume;
    Auditory camera;
    Time timp;
 
    cout<<"Reading day.."<<endl;
    inClientFile.seekg(filePosition); //pereustanovka ukazatelya pozitii file'a
                                    //na sootvetstvuiushii deni
    inClientFile >> day >> count;
    for (int i = 0; i < count; i++)
    {   
        inClientFile >> numero >> nume >> camera.room >> camera.block >> timp.hour >> timp.minute;
            newLesson->setNumber(numero);
            newLesson->setName(nume);
            newLesson->setAud(camera);
            newLesson->setTime(timp);
        
        this->studies.push_back(newLesson);
    }
    filePosition = inClientFile.tellg();
 
    delete newLesson;
}
Внутри конструктора данные из файла считываются отлично, затем объекту weekday[i] передаётся поле day, тогда как вектор studies остаётся в конструкторе. В чём дело?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.