h1

Перегрузка операторов с использованием функций-членов

Август 8, 2010

Простой пример перегрузки оперторов + и =.

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

#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; }
three_d operator+(three_d op2);
three_d operator=(three_d op2);
void show();
};

three_d three_d::operator+(three_d op2)
{
three_d temp;

temp.x = x + op2.x;
temp.y = y + op2.y;
temp.z = z + op2.z;
return temp;
}

three_d three_d::operator=(three_d op2)
{
x = op2.x;
y = op2.y;
z = op2.z;
return *this;
}

void three_d::show()
{
cout << x << «, «;
cout << y << «, «;
cout << z << «\n»;
}

int main()
{
three_d a(1, 2, 3), b(10, 10, 10), c;

a.show();
b.show();

c = a + b;
c.show();

c = a + b + c;
c.show();

c = b = a;
c.show();
b.show();

cin.get();
return 0;
}

Реклама

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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Google+ photo

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

Connecting to %s

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