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

Френдовый оператор умножения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чем "operator *=" отличается от "operator *"? http://www.cyberforum.ru/cpp-beginners/thread280510.html
снова застряла, не могу понять, чем этот оператор должен отличаться от оператора*.....? вот он, но это работает только в случае оператора*. Matrix Matrix::operator*=(double x) { Matrix rezult(*this); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { rezult.matr*=x;
C++ двухмерный массив Нужна программа на С Найти для каждой строки сумму элементов нечетных столбцов. М = 3, N = 3 http://www.cyberforum.ru/cpp-beginners/thread280508.html
неправильная параллельная конфигурация C++
Добрый день!столкнулся с огромной проблемой,которую не умею решать. Перестала работать vs2008,cmake,paraview и несколько других,хотя вчера все работало.При запуске выдает ошибку: Не удалось запустить приложение,поскольку его параллельная конфигурация неправильна. В журнале приложений ничего подробнее не нашел. Вчера случайно удалил какието файлы из папки Windows.old/Program files,в...
SMTP запросы. C++
Всем привет. Вопрос не совсем про программирование, но не нашел лучшего места чтобы задать его. Нужно написать простой почтовый клиент. Пробую разобраться с SMTP через telnet: user@ubuntu:~$ telnet smtp.mail.ru 25 Trying 94.100.177.1... Connected to smtp.mail.ru. Escape character is '^]'. 220 smtp13.mail.ru ESMTP ready EHLO \n 250-smtp13.mail.ru
C++ Записать на языке программирования выражение. http://www.cyberforum.ru/cpp-beginners/thread280478.html
Линейное!!!
C++ Абрамов Помогите сделать задачу Абрамова на курсовую работу, очень нужно срочно !! Вот условие: http://i20.***********/big/2011/0420/24/795ba8eba51e631ce89d78b7421d7d24.jpg подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.04.2011, 12:11  [ТС]
Так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class A
{
 protected A (...);
...
};
...
class B
{
 public:
 ...
 friend
 B operator *  (double  x, A &a); 
};
...
B operator *(double x, A &a)
{
...
}
 
A a;
B b=10.0*a;
компилит, а так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class A
{
 protected:
  A (...);
...
 public:
 const static A a;
};
const A a(...);
...
class B
{
 public:
 ...
 friend
 B operator *  (double  x, A &a); // Эту строку компил проглотил
};
...
B operator *(double x, A &a) // А вот эта строка ему не нравится. Почему?
{
...
}
 
B b=10.0*A::a;
ругается на последнюю строку. Пишет:
error: no match for ‘operator*’ in ‘1.0e+1 * A::a’
Добавлено через 1 минуту
Проект велосипедистый со своими типами размерных величин и единиц измеренения.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru