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

Перегрузка операторов - C++

Восстановить пароль Регистрация
 
Lotles
 Аватар для Lotles
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 167
07.07.2010, 13:06     Перегрузка операторов #1
Как правильно перегружать подобные операторы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <conio.h>
using namespace std;
class Point{
public:
    int x,y;
};
    Point operator*(Point pt1, int n, Point pt2){
    Point new_pt;
    new_pt.x=pt1.x*n*pt2.x;
    new_pt.y=pt1.x*n*pt2.y;
    return new_pt;
    }
int main(){
    Point point1,point2,point3;
    point3.x=4;
    point3.y=5;
    point2.x=2;
    point2.y=3;
    point1=point2*5*point3;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2010, 13:06     Перегрузка операторов
Посмотрите здесь:

Перегрузка операторов C++
C++ Перегрузка операторов с++
C++ C++ перегрузка операторов
C++ перегрузка операторов С++
Перегрузка операторов C++
Перегрузка операторов C++
C++ Перегрузка операторов
C++ Перегрузка операторов
C++ Перегрузка операторов
C++ Перегрузка операторов
C++ Перегрузка операторов << и >>
Перегрузка операторов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Demihalf
Унылый школьник
 Аватар для Demihalf
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
07.07.2010, 13:34     Перегрузка операторов #2
Lotles, операторы перегружаются для двух или одного аргумента:

C++
1
2
3
Point operator*(const Point& pt1, const Point& pt2);
Point operator*(const Point& pt1, int n);
Point operator*(int n, const Point& pt2);
Используйте константные ссылки при передаче объекта в метод (const Point& a). При передаче объекта по значению производится его копирование, что может привести к ухудшению производительности. И еще: объявляйте члены класса закрытыми (private), а доступ к ним осуществляйте посредством методов класса, проверяя валидность введенных данных. В небольшой программе это не критично, но если пользователь введет, например, отрицательные координаты точки, это может вызвать нехорошие последствия.
Yandex
Объявления
07.07.2010, 13:34     Перегрузка операторов
Ответ Создать тему
Опции темы

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