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

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

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

Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра - C++

15.02.2014, 23:09. Просмотров 407. Ответов 3
Метки нет (Все метки)

Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра при помощи операции проверки равенства (==) и возвращает true, если они равны, и false, если не равны.

Используйте этот шаблон функции в программе, которая вызывает isEqualTo с различными встроенными типами аргументов.

Вот что набросал, однако не работает.. Прощу помощи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <iostream>
using namespace std;
 
template <typename T>
bool isEqualTo (const T& arg1, const T& arg2){ 
return arg1==arg2;
}
 
 bool operator ==(auto &lhs, auto &rhs)
{
    if (lhs != rhs)
       return false; 
 
    return true; 
}
int _tmain(int argc, _TCHAR* argv[])
{
 
cout<<endl<<(isEqualTo(m1,m2) ?"equal":"not equal")<<endl;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2014, 23:09     Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра
Посмотрите здесь:

C++ Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков: >,<,=.
C++ Функция которая сравнивает два целых числа и возвращает результат сравнения в виде знака: >, < или =
C++ Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом.
Написать программу,которая сравнивает два числа C++
Напишите программу, которая использует шаблон функции для определения наименьшего из двух аргументов. C++
Напишите программу на языке С++, которая сравнивает 2 числа и выводит на экран наибольшее из них, если числа равны C++
Написать программу,которая сравнивает два числа,введеных с клавиатуры C++
Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int C++
C++ Функция, которая получает два параметра и возвращает результат деления первого параметра на второй
C++ Написать функцию, которая сравнивает два целых числа
Написать функцию, которая сравнивает два целых числа C++
C++ Написать программу, которая сравнивает два введенных с клавиатуры числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
15.02.2014, 23:25     Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра #2
Rstuff, пишите ошибку и что не работает, а так придётся долго вглядываться или запускать VS

Добавлено через 1 минуту
Цитата Сообщение от Rstuff Посмотреть сообщение
C++
1
2
3
4
5
6
bool operator ==(auto &lhs, auto &rhs)
{
* * if (lhs != rhs)
* * * *return false; 
return true; 
}
не думаю что так просто можно перегрузить оператор ==

Добавлено через 2 минуты
Цитата Сообщение от Rstuff Посмотреть сообщение
cout<<endl<<(isEqualTo(m1,m2)
что такое m1 m2 ? Надо обьявить для начала

Добавлено через 1 минуту
Rstuff,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
template <typename T>
bool isEqualTo (const T& arg1, const T& arg2){ 
return arg1==arg2;
}
 
int main()
{
 int m1 =0;
 int m2 = 1 -1;
cout<<endl<<(isEqualTo(m1,m2) ?"equal":"not equal")<<endl;
 
    return 0;
}
вот работает
Rstuff
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 18
15.02.2014, 23:44  [ТС]     Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра #3
Надо перегрузить оператор == ... Так не работает перегрузка, ошибка
IntelliSense: оператору, не являющемуся членом, требуется параметр с класса перечисляемого типа
DrOffset
6819 / 4030 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
15.02.2014, 23:52     Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра #4
Цитата Сообщение от Rstuff Посмотреть сообщение
Надо перегрузить оператор == ... Так не работает перегрузка, ошибка
IntelliSense: оператору, не являющемуся членом, требуется параметр с класса перечисляемого типа
Зачем его перегружать? У тебя в задании этого не требуется.
В задании написано для встроенных типов. Для встроенных типов перегружать операцию сравнения вообще нельзя (по правилам языка). Перегружать можно только для классов, либо перечислений. Об этом тебе и написал компилятор.
Таким образом кода:
C++
1
2
3
4
template <typename T>
bool isEqualTo (const T& arg1, const T& arg2){ 
return arg1==arg2;
}
будет достаточно для решения задачи.
Yandex
Объявления
15.02.2014, 23:52     Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра
Ответ Создать тему
Опции темы

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