typedef vector<int> Column;
typedef vector<Column> Table;
Table table(10, Column(10));
table[x][y];
перегрузка операторов
bool operator==(const double &a, const double &b)
{
if (fabs(a - b) < EPS) return true;
else return false;
}
че то не хочет
Цитата:
Функция операция должна быть или членом, или получать в качестве параметра по меньшей мере один объект класса (функциям, которые переопределяют операции new и delete, это делать необязательно). Это правило гарантирует, что пользователь не может изменить смысл никакого выражения, не включающего в себя определенного пользователем типа.
спасибо !
Как вариант можно сделать класс-обёртку, содержащий 1 поле типа double и там уже все нужные операторы прописать, но проще просто создать функцию типа equals.
Подскажите как перегрузить операцию
двойных квадратных скобок "[][]".
Цитата: !Волк
По теме!
Подскажите как перегрузить операцию
двойных квадратных скобок "[][]".
Подскажите как перегрузить операцию
двойных квадратных скобок "[][]".
Никак. Нет такой операции.
Сначала вызывается операция индексирования (квадратный скобки) у одного объекта, к результату так же применяется операция индексирования.
Поэтому либо создавай прокси-объект, либо (что в большинстве случаев правильнее) храни данные уже в такой табличной форме (строки, столбцы).
Вот пример:
Код:
Спасибо! Мне подошел первый вариант.:)