Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 153
1

Указатель this в конструкторе копирования

23.05.2014, 23:33. Просмотров 1281. Ответов 7
Метки нет (Все метки)

Добрый всем вечер.
Подскажите пожалуйста, как правильно применить в конструкторе копирования указатель this?

Вот есть код.

Правильно ли тут применен этот указатель?
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
class CLASS
{
 
    struct NOTE
    {
        char Family[100];
        char Name[100];
        int Phone;
        int Birthday;
        int Birthmonth;
        int Birthyear;
    };
 
    NOTE* people;
    int number;
 
    void create();
 
 
public:
    CLASS()
    {}
 
    CLASS(int n)
    {
        number = n;
        people = new NOTE[number];
        create();
    }
 
    CLASS(const CLASS & list)
    {
        this->number = list.number;
        people = new NOTE[number];
        for (int i = 0; i < number; ++i)
        {
            strcpy_s(people[i].Family, list.people[i].Family);
            strcpy_s(people[i].Name, list.people[i].Name);
            people[i].Phone = list.people[i].Phone;
            people[i].Birthday = list.people[i].Birthday;
            people[i].Birthmonth = list.people[i].Birthmonth;
            people[i].Birthyear = list.people[i].Birthyear;
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2014, 23:33
Ответы с готовыми решениями:

О конструкторе копирования
Доброго времени суток всем присутствующим. Интересует маленький вопрос. В 15-й строке происходит...

Ошибка в конструкторе копирования C++
Помогите, пожалуйста создать конструктор копирования, который будет копировать элемент и добавлять...

Параметр в конструкторе копирования
Есть класс class CMatrix{ valarray&lt;valarray&lt;double&gt; &gt; matrix; public: CMatrix(const...

Ошибка в конструкторе копирования
Всем привет, не могу понять проблему, у меня есть структура: struct WindowRender : public...

7
Эксперт С++
8329 / 6081 / 605
Регистрация: 10.12.2010
Сообщений: 28,251
Записей в блоге: 27
23.05.2014, 23:52 2
Лучший ответ Сообщение было отмечено rura как решение

Решение

C++
1
this->number = list.number;
Почему не опустить его
C++
1
number = list.number;
1
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 153
24.05.2014, 00:13  [ТС] 3
Я согласен с Вами.
Просто у меня задание, сделать его с этим указателем. А поскольку я первый раз его явно использую, я спрашиваю правильно ли.
0
Эксперт С++
8329 / 6081 / 605
Регистрация: 10.12.2010
Сообщений: 28,251
Записей в блоге: 27
24.05.2014, 00:39 4
Лучший ответ Сообщение было отмечено rura как решение

Решение

Да правильно ( хотя в этом и нет необходимости)
1
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 153
24.05.2014, 00:46  [ТС] 5
Благодарю.
0
Эксперт С++
8329 / 6081 / 605
Регистрация: 10.12.2010
Сообщений: 28,251
Записей в блоге: 27
24.05.2014, 00:50 6
Только в классе не наблюдаю деструктора во первых.
Во вторых CLASS - плохая идея писать названия классов в верхнем регистре.
0
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 153
28.05.2014, 19:06  [ТС] 7
А что значить "в верхнем регистре."?
0
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.05.2014, 19:11 8
Цитата Сообщение от rura Посмотреть сообщение
А что значить "в верхнем регистре."?
ВЕРХНИЙ нижний
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2014, 19:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка в конструкторе копирования
Здравствуйте. Есть один класс для работы с многочленами, который хранит элементы многочлена в...

Ошибка в конструкторе копирования класса
Хотя и делал по образцу, но почему то лезет ошибка записи за пределы динамического массива, хотя и...

Зачем нужна ссылка в конструкторе копирования
Вопрос такой, Зачем нужна ссылка в конструкторе копирования? Почему не передавать напр. по...

Можно ли в конструкторе копирования поменять один параметр?
Здравствуйте. Мне нужно при создании объекта через конструктор копирования поменять один параметр в...


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

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

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