h1

Перегрузка операторов отношения и логических операторов

Август 13, 2010

Программа перегружает операторы ==, <, >, && и ||. В качестве проверки перегрузка используется на объектах A и B.

Исходный код:

#include <iostream>
using namespace std;

class three_d {
int x, y, z;
public:
three_d() { x = y = z = 0; }
three_d(int i, int j, int k) { x = i; y = j; z = k; }

bool three_d::operator==(three_d op2);
bool three_d::operator<(three_d op2);
bool three_d::operator>(three_d op2);
bool three_d::operator&&(three_d op2);
bool three_d::operator||(three_d op2);
};

bool three_d::operator==(three_d op2)
{
if((x = op2.x) && (y == op2.y) && (z == op2.z))
return true;
else
return false;
}

bool three_d::operator<(three_d op2)
{
if((x < op2.x) && (y < op2.y) && (z < op2.z))
return true;
else
return false;
}

bool three_d::operator>(three_d op2)
{
if((x > op2.x) && (y > op2.y) && (z > op2.z))
return true;
else
return false;
}

bool three_d::operator&&(three_d op2)
{
if((x && op2.x) && (y && op2.y) && (z && op2.z))
return true;
else
return false;
}

bool three_d::operator||(three_d op2)
{
if((x || op2.x) && (y || op2.y) && (z || op2.z))
return true;
else
return false;
}

int main()
{
int x, y, z;

cout << «Enter coordinates the values of A: \n»;
cin >> x; cin >> y; cin >> z;
three_d a(x, y, z);

cout << «Enter coordinates the values of B: \n»;
cin >> x; cin >> y; cin >> z;
three_d b(x, y, z);

cout << «\nAlternate output operations and their results:\n»;
cout << «== — «;
if (a==b) cout << «true\n»; else cout << «false\n»;
cout << «< — «;
if (a<b) cout << «true\n»; else cout << «false\n»;
cout << «> — «;
if (a>b) cout << «true\n»; else cout << «false\n»;
cout << «&& — «;
if (a&&b) cout << «true\n»; else cout << «false\n»;
cout << «|| — «;
if (a||b) cout << «true\n»; else cout << «false\n»;

cin >> x;
return 0;
}

Advertisements

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: