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

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

Войти
Регистрация
Восстановить пароль
 
dimonzzz
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 4
#1

Комментирование программ С++ - C++

12.01.2014, 09:28. Просмотров 208. Ответов 1
Метки нет (Все метки)

Пожалуйста, срочно помогите , объясните как работает тут this ... не понимаю зачем он вообще


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MARSH& MARSH::operator=(MARSH& a)     //описание перегрузки оператора присваивания
{
    Nomer=a.Nomer; 
    if(&a==this)   
       return *this;
    if(Nachalo != NULL) 
       delete [] Nachalo;
    if(a.Nachalo != NULL)
    {
        Nachalo=new char[strlen(a.Nachalo)+1];
        strcpy(Nachalo,a.Nachalo);
    }
    if(Konec != NULL)
       delete [] Konec;
    if(a.Konec != NULL)
    {
        Konec=new char[strlen(a.Konec)+1];
        strcpy(Konec,a.Konec);
    }
    return *this;
}
Добавлено через 2 минуты
Цитата Сообщение от dimonzzz Посмотреть сообщение
Пожалуйста, срочно помогите , объясните как работает тут this ... не понимаю зачем он вообще


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MARSH& MARSH::operator=(MARSH& a)     //описание перегрузки оператора присваивания
{
    Nomer=a.Nomer; 
    if(&a==this)   
       return *this;
    if(Nachalo != NULL) 
       delete [] Nachalo;
    if(a.Nachalo != NULL)
    {
        Nachalo=new char[strlen(a.Nachalo)+1];
        strcpy(Nachalo,a.Nachalo);
    }
    if(Konec != NULL)
       delete [] Konec;
    if(a.Konec != NULL)
    {
        Konec=new char[strlen(a.Konec)+1];
        strcpy(Konec,a.Konec);
    }
    return *this;
}

начало, конец и номер - это из файла по порядку:

в файле:
Москва Кстово 201
Земля Луна 205
начало_маршрута конец_маршрута_номер
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2014, 09:28     Комментирование программ С++
Посмотрите здесь:

Комментирование программ С++ - C++
Помогите с комментариями к программе, пожалуйста, в воскресенье зачет уже Хотя бы основные моменты пояснить

Комментирование программ. Насколько это важно? - C++
Поделитесь собственным опытом.

Комментирование программы - C++
#include <stdlib.h> #include <iostream> #include <stdio.h> #include<conio.h> #include<math.h> using namespace std; int...

Комментирование текста с++ - C++
как закоментировать блок текста в с++. Кроме //.

Комментирование кода - C++
#ifndef ENHANCEDSAFEARRAY_H #define ENHANCEDSAFEARRAY_H #include "safearray.h" template <typename T> class EnhancedSafeArray:...

Объединение программ - C++
Помогите объединить программы в одну #include <iostream> #include <fstream> #include <chrono> #include <random> #include <set> ...

компоновка программ - C++
Вопрос собственно про сборку программ из хидеров и сишников. Не понятно пока, если мы можем описывать классы в ашниках, то почему всю...

Закрытие программ - C++
Как написать консольную программку, которая бы закрывала все запущенные программы? Допустим открыть у меня Word, блаузер какой нибудь. Я...

Перевод программ на С++ - C++
первая прога uses crt; var x:arrayof integer; n,i,j:integer; begin writeln ( 'введите размер массива ' ); readln ( n ); ...

Оптимизация программ - C++
Возник такой вопрос. Допустим у меня в функции используется часто некоторое выражение(например, length/2, а length - параметр функции)....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VladislavTepes
78 / 78 / 5
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.01.2014, 10:12     Комментирование программ С++ #2
dimonzzz, this - указатель на объект, вызывающий эту функцию. А сама функция, если приглядеться, модифицирует объект и возвращает ссылку на него.
Ответ Создать тему
Опции темы

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