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

Переопределение оператора - C++

Восстановить пароль Регистрация
 
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257
18.09.2011, 13:34     Переопределение оператора #1
У меня есть класс вектора. Надо переопределить оператор умножения числа на вектор.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class myvector {
private: int x,y,z;
public: //тут мои остальные работающие переопределия операторов, конструкторы и деструктор
};
 
class number {
public: int k;
myvector operator*(myvector t);
};
 
myvector myvector::operator*(myvector t)
{
 myvector temp;
 temp.x=k*t.x;
 // тут другие координаты тоже умножаю
 return temp;
}
Ошибка в компилляции в наследовании функции. Помогите как это исправить? делаю
C++
1
class number:private myvector // public тож побовал
он всё равно не может прочесть те координаты из первого класса.

Добавлено через 2 минуты
Обязательно чтобы координаты были private!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LosAngeles
Заблокирован
18.09.2011, 13:40     Переопределение оператора #2
не понимаю почему число наследуется от вектора. Число является вектором?
Оператор умножения должен возвращать константный объект и принимать ссылку на константу.

Цитата Сообщение от AvengerAlive Посмотреть сообщение
myvector myvector::operator*(myvector t)
ты же его в number объявил, почему myvector::?

Добавлено через 1 минуту
вобще ничё непонятно, это псевдокод?
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257
18.09.2011, 14:01  [ТС]     Переопределение оператора #3
Всё написал, работает!
LosAngeles
Заблокирован
18.09.2011, 14:02     Переопределение оператора #4
Цитата Сообщение от AvengerAlive Посмотреть сообщение
Умножает Вектор на Число.
А мне нужно Число на веткор. Это разные вещи.
ну если умножение коммутативно, то надо просто сделать оператор не членом класса. Ну и насчёт прототипа я уже сказал выше
Цитата Сообщение от AvengerAlive Посмотреть сообщение
А как мне получить доступ от класса числа к координатам вектора в классе вектора?
через интерфейс класса желательно. То есть методы getX например и тп
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257
18.09.2011, 15:23  [ТС]     Переопределение оператора #5
LosAngeles, спасибо, я сделал через friend
Yandex
Объявления
18.09.2011, 15:23     Переопределение оператора
Ответ Создать тему
Опции темы

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