Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Gepar
1181 / 537 / 77
Регистрация: 01.07.2009
Сообщений: 3,517
27.09.2011, 16:39  [ТС] 0

Перегрузка оператора +=

27.09.2011, 16:39. Просмотров 1776. Ответов 33
Метки (Все метки)

Ответ

Цитата Сообщение от Deviaphan Посмотреть сообщение
Добавь в конструкторах слово explicit.
В каких именно? В конструкторах по умолчанию не принимающих аргументы?

Добавлено через 31 секунду
-=ЮрА=-, конкретно этот код комплиировал minigw так что он не ругается на выброс исключений таким хитрым способом.

Добавлено через 3 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
mat4.h(25) : error C2446: ':' : no conversion from 'const int' to 'class Vec4'
No constructor could take the source type, or constructor overload resolution was ambiguous
Ну это ты уже сам ошибку создал добавив что возвращаться будет int, а не Vec4, можешь поставить чтобы тут возвращало Vec4[0], это будет не правильно в плане того куда будет обращение, но будет работать и не вываливаться.

Добавлено через 1 минуту
-=ЮрА=-, сделай так
C++
1
2
3
4
    Vec4 operator[](int i) const
    {
        return ((i>=0) && (i<=3) ? elem[i] : elem[0]);//throw Vec4::Out_of_bounds());
    }
И будет комплиироваться, там возврат i элемента Vec4, сделано как в двумерном массиве чтобы в коде main обращаться типа a[2][3].

Добавлено через 1 минуту
Кстати насчёт throw в тернарном операторе: я сам думал что так работать не будет, но mingw скомпилировал всё как положено и при выходе за границы и правда выбрасывается исключение, которое также успешно ловится так что работает всё корректно.

Вернуться к обсуждению:
Перегрузка оператора +=
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 16:39
Готовые ответы и решения:

Перегрузка оператора ==
Я уже встречала подобный вопрос на этом форуме, но у меня всё равно что-то не...

Перегрузка оператора ^
Здравствуйте! Необходимо перегрузить бинарный оператор ^ для транспонирования...

Перегрузка оператора +
Написал для перегрузки оператора + class BoolMatrix { private: int feet; ...

Перегрузка оператора >
Добрый день! #include &lt;stdio.h&gt; #include &lt;tchar.h&gt; #include &lt;iostream&gt; ...

Перегрузка оператора
Не могу разобратся с перегрузками, помогите пожалуйста ребята Дать определение...

33
Другие темы раздела
C++ условие http://www.cyberforum.ru/cpp-beginners/thread357010.html
Ответ скорее всего прост,но не могу придумать никак #include <stdio.h> #include <conio.h> #include <locale.h> int fact(int n)//в цикле со счётчиком умножают переменную на счетчик, который...
C++ Расчитать значение функии f(x) по соответсвующей формуле. Добрый день, вот моё задание: Составьте алгоритм программы, которая принимает от пользователя значение x и в зависимости от его значения, расчитывет значение функии f(x) по соответсвующей формуле.... http://www.cyberforum.ru/cpp-beginners/thread357006.html
Создание динамического массива C++
const int Num=5; const int SIZE=4096 * Num; SHORT Buf; как такое заменить, если Num- инициализируется при загрузке программы, читается из файла. int Num; int SIZE=4096 * Num; SHORT* Buf...
C++ Компиляторы
Скажите пожалуйста какие сейчас есть компиляторы для С++ и какой из них на сегодняшний день самый распространённый и широкоиспользуемый?
C++ сумма соседних членов последовательности http://www.cyberforum.ru/cpp-beginners/thread356953.html
Даны числа а1, а2, a(n) Известно, что а1>0 и что среди а2, а3, a(n) есть хотя бы одно отрицательное число. Пусть а1, a2, an - члены данной последовательности, предшествующие первому отрицательному...
C++ Вычитаем процент от числа. Вот фрагмент программки... weight = growth - 110; ideal_weight = weight - (weight * (10/100)); cout << Rus("Ваш идеальный вес ") << ideal_weight; cout << Rus(" кг.") << endl; ... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru