K
krolmk
Помогите реализовать задачу:
Напишите простой шаблон предикатной функции isEqualTo, которая сравнивает два своих параметра при помощи оперлции проверки равенства (==) и возвращает 1, если они равны, и 0, если не равны.
Затем напишите отдельную версию программы, которая вызывает isEqualTo с определяемым пользователем типом и не перегруженной операцией равенства.
Теперь перегрузите операцию равенства (используйте функцию-операцию operator==).
Вот набросал кусок, правильно ли?
Напишите простой шаблон предикатной функции isEqualTo, которая сравнивает два своих параметра при помощи оперлции проверки равенства (==) и возвращает 1, если они равны, и 0, если не равны.
Затем напишите отдельную версию программы, которая вызывает isEqualTo с определяемым пользователем типом и не перегруженной операцией равенства.
Теперь перегрузите операцию равенства (используйте функцию-операцию operator==).
Вот набросал кусок, правильно ли?
Код:
#include<iostream>
using namespace std;
template <typename T>
bool isEqualTo (const T& arg1, const T& arg2){ //change to reference if complex types might be compared as well
return arg1==arg2;
}
void main(){
int a;
int b;
cout<<"Enter two interger values: ";
cin>>a>>b;
cout<<endl<<a<<" and "<<b<<" are "<<(isEqualTo(a,b) ?"equal":"not equal")<<endl;
char c;
char d;
cout<<endl<<"Enter two character values: ";
cin>>c>>d;
cout<<endl<<c<<" and "<<d<<" are "<<(isEqualTo(c,d) ?"equal":"not equal")<<endl;
double e;
double f;
cout<<endl<<"Enter two double values: ";
cin>>e>>f;
cout<<endl<<e<<" and "<<f<<" are "<<(isEqualTo(e,f) ?"equal":"not equal")<<endl;
// System Pause
system ("pause");
}