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

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

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

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

24.04.2012, 22:31. Просмотров 448. Ответов 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     Структура и кое-что не понятно...
Посмотрите здесь:

Conversion from 'size_t' to 'int' и еще кое-что C++
целый день убил, кое-что накалакял, но это все неправильно. C++
C++ Перевод из HEX в ASCII и ещё кое - что
подскажите по самоучителю кое что C++
Не получается кое-что C++
Массив и кое-что ещё C++
Обратная польская запись.Написал программу по алгоритму.Нужно кое-что изменить C++
C++ Ошибка VC++ или не понятно что
C++ Структура не понятно выводиться
Жуткий билдер не понятно что творит и почему C++
Не понятно что делает __success(return >= 0) C++
C++ Ошибка в задаче не выводит на экран кое что

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xavier
in god we trust
 Аватар для Xavier
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
1479 / 1055 / 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
 Аватар для Xavier
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     Структура и кое-что не понятно...
Ответ Создать тему
Опции темы

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