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

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

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

Структура и кое-что не понятно... - C++

24.04.2012, 22:31. Просмотров 457. Ответов 4
Метки нет (Все метки)

Имеется такая структура

C++
1
2
3
4
5
6
7
8
9
10
struct Person  
{
    std::string surname;
    unsigned int year;
 
    bool operator < (const Person &sg) 
    {
        return (this->year < sg.year); 
    }
};
И что значит запись std::, зачем она нужна?
Не могу понять - вот эту записть? -
C++
1
2
3
4
bool operator < (const Person &sg) 
    {
        return (this->year < sg.year); 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2012, 22:31     Структура и кое-что не понятно...
Посмотрите здесь:
C++ Структура не понятно выводиться
Не получается кое-что C++
подскажите по самоучителю кое что C++
Массив и кое-что ещё C++
C++ парни нужно кое-что добавить (нужно что бы эта программа вычисляла среднее арифметическое чисел)
Что делать?(учу C++ и кое что ни понимаю может стоит начать с более "низких языков" например basic) C++
C++ Ошибка в задаче не выводит на экран кое что
C++ Перевод из HEX в ASCII и ещё кое - что
Conversion from 'size_t' to 'int' и еще кое-что C++
C++ Ошибка VC++ или не понятно что
Не понятно что делает __success(return >= 0) C++
целый день убил, кое-что накалакял, но это все неправильно. C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
24.04.2012, 22:34     Структура и кое-что не понятно... #2
std -стандартное пространство имен
std::string surname; это значит что string принадлежит стандартному пространству имен

C++
1
2
3
4
bool operator < (const Person &sg) 
    {
        return (this->year < sg.year); 
    }
это перегрузка оператора сравнивает объект(this) слева от операнда с объектом (sg) справа и возвращает или true или false
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
24.04.2012, 22:35     Структура и кое-что не понятно... #3
std:: - нужно читать про неймспейсы в c++
bool operator < (const Person &sg) - переопределенный оператор < (меньше) для структуры Person. Читать про переопределение операторов в с++
jvov
1 / 1 / 0
Регистрация: 28.09.2011
Сообщений: 113
24.04.2012, 22:44  [ТС]     Структура и кое-что не понятно... #4
Цитата Сообщение от Xavier Посмотреть сообщение
std -стандартное пространство имен
std::string surname; это значит что string принадлежит стандартному пространству имен

C++
1
2
3
4
bool operator < (const Person &sg) 
    {
        return (this->year < sg.year); 
    }
это перегрузка оператора сравнивает объект(this) слева от операнда с объектом (sg) справа и возвращает или true или false
А почему этот оператор в "структуре" находиться?
И как с ним работать, то есть применить?
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
24.04.2012, 22:52     Структура и кое-что не понятно... #5
он перегружен только для объектов этой структуры .
что бы применить нужно создать например два объекта этой структуры
C++
1
2
Person ob1,ob2;
ob1<ob2;
и потом сравнивать (можно использовать например в if инструкции)
оператор < перегружается только для объектов структуры в применении к стандартным типам он не изменяется(его можно перегрузить чтобы он выполнял любое действие над объектами структуры хоть умножение объектов этой структуры ,но этого ни кто не делает стараются что бы действие оператора перегруженного совпадало с действием оригинала)
советую почитать литературу какую нибудь на эту тему и ознакомится с перегрузкой операторов
Yandex
Объявления
24.04.2012, 22:52     Структура и кое-что не понятно...
Ответ Создать тему
Опции темы

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