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

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

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

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

13.02.2014, 19:23. Просмотров 822. Ответов 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)
    {
        
    }
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2014, 19:23     Копирующий конструктор
Посмотрите здесь:

копирующий конструктор !!! - C++
Вот это верный вид конструктора копирования??? class VK{ int b; public: VK(const VC &amp;); } VL::VK(const VK &amp; tmp){ b=tmp.b; ...

Копирующий конструктор - C++
Помогите пожалуйста реализовать копирующий конструктор, у меня он выдает нули =\ Вот код: #include &lt;iostream&gt; #include...

Копирующий конструктор - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;sstream&gt; #include&lt;cmath&gt; #include&lt;cstdlib&gt; #include&lt;string&gt; #include&lt;limits&gt; ...

Копирующий конструктор - C++
Здравствуйте, кто нибудь может сказать, почему при создании копирующего конструктора нужно указывать ссылку на объект? #include...

Закрытый копирующий конструктор - C++
В данном упражнении описана методика, которая может помочь отказаться от копирующих конструкторов. Создайте класс Х и объявите (но не...

копирующий конструктор и иерархия - C++
Создать иерархию типов, описывающую - студента, отца семейства и студента-отца семейства. Классы должны конструкторы, включая конструктор...

Копирующий конструктор абстрактного класа - C++
Добрый вечер. Сразу к делу. Есть абстрактный класс: class Product abstract { protected: int lipids; string brand; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2014, 12:31     Копирующий конструктор
Еще ссылки по теме:

Когда в классе нужен копирующий конструктор? - C++
Меня интересует вопрос когда в классе нужен копирующий конструктор.

Копирующий конструктор в списке инициализации членов класса - C++
Добрый день. Сегодня обнаружил кое-что для себя странное и непонятное. В общем-то смотрим код: #include &lt;iostream&gt; ...

Копирующий конструктор класса, содержащего переменную-член указатель - C++
Практикуюсь по книге Стенли Липпмана &quot;Язык программирования C++ вводный курс&quot; 4 изд. Упражнение 13.4. Используя приведенный ниже набросок...

Конструктор - C++
Почему переменные не инициализируются???? class MainFuns{ public: string Name; int Number; bool Blocking;

Конструктор - C++
Всем доброго времени суток. Пишу программу, которая вычисляет ранг матрицы и выводит транспонированную. Вот код: matr.h: class matr {...


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

Или воспользуйтесь поиском по форуму:
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,954
Записей в блоге: 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     Копирующий конструктор
Ответ Создать тему
Опции темы

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