Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2010, 12:18   #1
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию Переопределение оператора умножения для класса. Умножение числа на класс.

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

Код:
template <class TYPE>  //шаблон с типом TYPE
vector<TYPE> vector<TYPE>::operator*(TYPE _number){
	vector<TYPE> _vector(this->dim);  //вектор - это не контейнер из STL, это мой контейнер-класс, просто имя такое выбрал в связи с поставленной задачей, dim - Размерность вектора
		for (ulint i=0; i<this->dim; i++) _vector[i]=(*this)[i]*_number; //использовано переопределение оператора [] для класса
	return _vector;
}
здесь все замечательно работает, все почти пляшут и поют, вот только не получается сделать наоборот - умножить число на класс. Не могли бы Вы мне помочь?
Спасибо
capta1n вне форума Ответить с цитированием
Старый 06.03.2010, 13:06   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Для этого нужно использовать оператор не-член.
Код:
template<class TYPE> vector<TYPE> operator*(TYPE _number, vector<TYPE>)
{
//Реализация умножения
}
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 06.03.2010, 16:50   #3
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
Радость

Как же я сам до этого не догадался, спасибо, Гром
capta1n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных из класса в класс zexak Общие вопросы по Java, Java SE, Kotlin 2 27.02.2010 20:03
Ошибка error C2370: : переопределение; другой класс хранения --=SaNitinDG=- Общие вопросы C/C++ 1 25.02.2010 18:54
Передача ссылки в функцию класса на данный класс Impuls1989 Общие вопросы C/C++ 17 09.01.2010 17:21
Переопределение оператора умножения EmperorXXX Общие вопросы Delphi 1 16.10.2009 00:16
TASM - нахождения максимального числа из трех положительных целых чисел и умножения максимального числа iggor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 24.05.2009 20:16