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

перегрузка == для класса string - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как задать указатель для структуры (и не только) http://www.cyberforum.ru/cpp-beginners/thread939702.html
Есть такая задача: Напишите фрагмент кода, который динамически выделит память для структуры, описанной в вопросе 6, и затем прочитает в нее значение члена name. Задача 6 звучит так: Предложите...
C++ Указатель на void Как можно сделать универсальную функцию, которая принимает указатель на неопределенный тип, увеличивает значение на которое указывает этот самый указатель и возвращает его. Что-то вроде этого... http://www.cyberforum.ru/cpp-beginners/thread939697.html
C++ Составить программу обработки данных о книгах
Ребят помогите плиз решить задачку,очень срочно надо... Составить программу обработки данных о книгах. Сведения о каждой книге – это фамилия автора, название и год здания. рограмма должна:...
Файловая система C++
Как получить доступ к файлам на жестких дисках?
C++ Реализация трехсекундной задержки http://www.cyberforum.ru/cpp-beginners/thread939618.html
как реализовать задержку на 3 секунды в ходе выполнения программы?
C++ Полиморфизм и private методы Почему при полиморфном вызове функции возможен вызов private метода??? Хотя бы предупреждение какое нить об изменении спецификатора доступа с public в private... Вот допустим есть три класса: ... подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15633 / 7142 / 1130
Регистрация: 02.05.2013
Сообщений: 11,582
Записей в блоге: 1
Завершенные тесты: 1
18.08.2013, 16:55
Цитата Сообщение от Miwa123 Посмотреть сообщение
можно ли для существующего класса string перегрузить оператор не вмешиваясь в библиотеку?
Можно:
C++
1
2
3
4
5
6
7
8
9
10
// comparer.h
 
#pragma once
 
#include <iostream>
 
bool operator ==(std::string const &Left, std::string const &Right)
{
    return (0 != (Left.compare(Right)));
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// main.cpp
 
#include <iostream>
#include <string>
 
#include "comparer.h"
 
int main()
{
    using namespace std;
 
    string a = "123";
    string b = "456";
 
    cout << boolalpha << (a == b) << endl;
 
    return 0;
}
Вывод:
>true
Теперь комментируем строку с #include "comparer.h", получаем false, чешем затылок и
думаем, а оно нам надо ?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru