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

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

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

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

15.02.2014, 23:09. Просмотров 461. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2014, 23:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра (C++):

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

Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом. - C++
Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом.

Функция, которая получает два параметра и возвращает результат деления первого параметра на второй - C++
Тут такая задача: написать функцию, которая получает два параметра тип unsigned short int и возвращает результат деления первого параметра...

Напишите функцию, которая сравнивает 2 числа и возвращает результат в виде одного из знаков: >,<,= - C++
Напишите функцию, которая сравнивает 2 числа и возвращает результат в виде одного из знаков: &gt;,&lt;,= (без POW)

Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int - C++
Операции над целыми числами осуществляются быстрее, чем над числами с плавающей точкой. Напишите перегруженную функцию power (), ...

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

3
Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
15.02.2014, 23:25 #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;
}
вот работает
0
Rstuff
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 18
15.02.2014, 23:44  [ТС] #3
Надо перегрузить оператор == ... Так не работает перегрузка, ошибка
IntelliSense: оператору, не являющемуся членом, требуется параметр с класса перечисляемого типа
0
DrOffset
7351 / 4451 / 1009
Регистрация: 30.01.2014
Сообщений: 7,292
15.02.2014, 23:52 #4
Цитата Сообщение от Rstuff Посмотреть сообщение
Надо перегрузить оператор == ... Так не работает перегрузка, ошибка
IntelliSense: оператору, не являющемуся членом, требуется параметр с класса перечисляемого типа
Зачем его перегружать? У тебя в задании этого не требуется.
В задании написано для встроенных типов. Для встроенных типов перегружать операцию сравнения вообще нельзя (по правилам языка). Перегружать можно только для классов, либо перечислений. Об этом тебе и написал компилятор.
Таким образом кода:
C++
1
2
3
4
template <typename T>
bool isEqualTo (const T& arg1, const T& arg2){ 
return arg1==arg2;
}
будет достаточно для решения задачи.
0
15.02.2014, 23:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2014, 23:52
Привет! Вот еще темы с ответами:

Написать функцию, которая сравнивает два целых числа - C++
Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков: &lt; &gt; или =. Это код...

Написать функцию, которая сравнивает два целых числа - C++
Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков: &gt;,&lt; или = Ребят,...

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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