1 / 1 / 0
Регистрация: 06.04.2015
Сообщений: 10
1

Конструктор копирования и LeaveCriticalSection

06.04.2015, 01:37. Показов 374. Ответов 2
Метки нет (Все метки)

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
//Шаблон класса
 
class Massiv
{
    int *a;
    int count;
public:
    Massiv(void);
    Massiv(int,int=1);
    Massiv(const Massiv&);
    void bad_idea(){ printf("Индекс вышел за массив\n"); }
    int get_count(){ return count; }
    int * get_a(){ return a; }
    void add(int = (rand()%31));
    void del(int);
    void show();
    int& operator [] (int);
    Massiv &operator=(const Massiv&);
    Massiv operator+(const Massiv&);
    ~Massiv(void);
};
 
//Используемые методы класса
 
 
 
Massiv::Massiv(void)
{
    a=nullptr;
    count=0;
}
 
Massiv::Massiv(const Massiv&A)
{
    count=A.count;
    if(count>0){
        a=new int[count];
        for(int i=0;i<count;i++)
            a[i]=A.a[i];
    }
}
 
Massiv Massiv::operator+(const Massiv&obj)
{
    Massiv temp;
    temp.count=count+obj.count;
    temp.a=new int[count];
    int i;
    for(i=0;i<this->count;i++)
        temp.a[i]=this->a[i];
    for(int j=0;j<obj.count;i++,j++)
        temp.a[i]=obj.a[j];
    return temp;//Возникают непонятки 
}
 
Massiv::~Massiv(void)
{
    if(count!=NULL)
        delete [] a;
}
 
 
void main()
{
 
Massiv A;
Massiv B;
 
A+B; //Здесь проблема
 
}
З.Ы Проблема состоит в том, что при удалении копии возвращаемого temp вылазит ошибка LeaveCriticalSection;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2015, 01:37
Ответы с готовыми решениями:

Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования
Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных...

Конструктор класса, конструктор копирования запускается не тот который нужен
Есть такой конструктор: Neuron::Neuron(int iType_activation_funk) { this-&gt;iType_act =...

Не могу правильно сделать конструктор и конструктор копирования и принадлежность точки с заданными координатами треугольнику
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include...

Конструктор инициализации, конструктор копирования, деструктор
Я сделал почти задание по перегрузке операторов. Осталось одно, тоесть три: конструктор...

2
16475 / 8973 / 2200
Регистрация: 30.01.2014
Сообщений: 15,583
06.04.2015, 02:02 2
Цитата Сообщение от Tanker6789 Посмотреть сообщение
C++
1
2
temp.count=count+obj.count; 
temp.a=new int[count];
Вероятно имелось в виду это:
C++
1
2
    temp.count=count+obj.count;
    temp.a=new int[temp.count];
1
1 / 1 / 0
Регистрация: 06.04.2015
Сообщений: 10
06.04.2015, 02:04  [ТС] 3
Да, всё исправил, спасибо большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2015, 02:04
Помогаю со студенческими работами здесь

Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор
Всем доброго времени суток! нужна ваша помощь! нужно создать класс вектор и реализовать...

Конструктор копирования в С++
Такой вопрос, работает ли такой синтаксис, если я передаю указатель на объект, а не объект? ...

Конструктор копирования
есть класс, в нем есть указать на участок памяти, как написать для этого класс конструктор...

Конструктор копирования
Добрый вечер. Начал изучать перегрузку операций и конструктор копирования. Лазил в инете и налепил...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru