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

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

Войти
Регистрация
Восстановить пароль
 
 
Тамика
Котовчанин
868 / 448 / 140
Регистрация: 16.02.2010
Сообщений: 2,830
Записей в блоге: 27
#1

Копирующий конструктор - C++

13.02.2014, 19:23. Просмотров 800. Ответов 20
Метки нет (Все метки)

Добрый вечер всем!
Следущая проблема - решила создать свой персональный vector - int_array.
Но возникла проблема... Не пойму, как организован копирующий конструктор. Мои попытки его воссоздать приводят к утечке памяти.
Надеюсь, вы разъясните мне что к чему.
Заранее спасибо!
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
class int_array
{
    int *mas, size, capacity;
public:
    int_array(): mas(0), size(0), capacity(0)
    {}
 
    ~int_array()
    {
        delete [] mas;
    }
    int_array(int n)
    {
        mas = new int[n];
        size = 0;
        capacity = n;
    }
    //copy constructor
    int_array(int_array& in)
    {
        *this = in;
    }
    int getSize() const
    {
        return size;
    }
    int getCapacity()
    {
        return capacity;
    }
 
    void resize(int n)
    {
        int *temp = new int[n];
        temp = mas;
        delete [] temp;
    }
    void push_back(int val)
    {
        if (size < capacity) mas[size++] = val; 
        // else throw ...  
    }
    void pop_back()
    {
        --size;
    }
    int operator[] (int n)
    {
        return mas[n];
    }
    int operator= (int n)
    {
        
    }
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2014, 12:31     Копирующий конструктор
Еще ссылки по теме:

Закрытый копирующий конструктор C++
C++ Когда в классе нужен копирующий конструктор?
C++ Копирующий конструктор
Конструктор C++
C++ Копирующий конструктор в списке инициализации членов класса

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

Или воспользуйтесь поиском по форуму:
Тамика
Котовчанин
868 / 448 / 140
Регистрация: 16.02.2010
Сообщений: 2,830
Записей в блоге: 27
17.02.2014, 12:31  [ТС]     Копирующий конструктор #21
Цитата Сообщение от 0x10 Посмотреть сообщение
If you understand int and vector, you understand C++. The rest is "details" (1300+ pages of details). (Bjarne Stroustrup
В яблочко.

Добавлено через 59 секунд
Цитата Сообщение от DrOffset Посмотреть сообщение
Это прекрасно.
Только я не за этим спрашивал. Если человек пишет вектор для использования в проекте на работе, то во-первых стоит посмотреть на существующие реализации (помимо std::vector). А во-вторых, если таковой не найдется, то мы все, и я, могли бы подсказать, как ее лучше написать.
То, что было продемонстрировано ТС годится только в качестве упражнения для обучения.
Чтобы выяснить истинную задачу (обучение для себя или решение вопроса на работе), и я и задал этот вопрос.
Не по работе. Для себя. Но для дальнейшего использования(когда изучу его и напишу полноценно).
Yandex
Объявления
17.02.2014, 12:31     Копирующий конструктор
Ответ Создать тему
Опции темы

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