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

Перегрузка оператора () - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построить диаграмму длины слов, входящих в текст, содержащий от 5 до 10 слов. http://www.cyberforum.ru/cpp-beginners/thread151523.html
Построить диаграмму длины слов, входящих в текст, содержащий от 5 до 10 слов. Не понимаю как считать заданное количество слов и подсчитать в каждом количество букв. Плиз напишите программу лучше на Си. Диаграмма типа 5 ***** 2 **
C++ ОПределить среднее геометрическое элементов, расположенных нп главной диагонали целочисленной матрицы R[6][6] ОПределить среднее геометрическое элементов, расположенных нп главной диагонали целочисленной матрицы R В дополнительный столбец записать произведение отрицательных элементов увждой строки. ___________________________________ ____________________________ 1)Подсчитать во введенном с клавиатуры тексте процентное количество повторения каждой главной буквы английского алфавита. 2) Ввести с... http://www.cyberforum.ru/cpp-beginners/thread151518.html
C++ Пространство имен
Зачем пространство имен в программировании я чет не понимаю? У мну в учебнике отак написано. Пространство имен, локализуя видимость объявленных в нем имен, позволяет одному и тому же имени использоватся в контекстах без возбуждения конфликта. Что сдесь обозначает слово локализуя?
Алгоритм Евклида с использованием рекурсии C++
Моя реализация алгоритма Евклида с использованием рекурсивной функции. //Program finds greatest common divisor of two natural numbers. #include <iostream> using namespace std; int GCD(int number1, int number2); int main() {
C++ в квадратной матрице.... http://www.cyberforum.ru/cpp-beginners/thread151495.html
помогите плз кто разбираеться!!!!!!! 1)В данной действительной квадратной матрице порядка п найти наибольший по модулю элемент. Получить квадратную матрицу порядка п— 1 путем выбрасывания из исходной матрицы какой-нибудь строки и столбца, на пересечении которых расположен элемент с найденным значением. 2)Дан текст; найти наибольшее количество цифр идущих в нем подря
C++ Кто может разъяснить списки? Не контейнеры, а которые делаются без них. Классами или структурами. Бьюсь, бьюсь, немного понимаю, но не до конца. Кто-нибудь может это объяснить на пальцах? Задание было в книжке. Объявить абстр. класс стек, в котором определить фукнции вставки и извлечения элемента. Элемент инт типа. Создать два наследника Static_Stack (с помощью массива и двунар. списка), Dynamic_Stack(с помощью однонапр.... подробнее

Показать сообщение отдельно
easybudda
Эксперт CЭксперт С++
9461 / 5474 / 927
Регистрация: 25.07.2009
Сообщений: 10,496
04.07.2010, 14:55     Перегрузка оператора ()
Цитата Сообщение от Хохол Посмотреть сообщение
Несколько более оправданным применение перегрузки скобок будет, например, для двумерного массива:
Ну ещё можно для проверки выхода за границы массива использовать...
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <stdexcept>
#include <algorithm>
 
class Array {
private:
    int m_size;
    int * m_pArr;
public:
    Array(int size, int val = 0) : m_size(size) {
        if ( m_size < 1 )
            throw std::range_error("Wrong size for array!");
        m_pArr = new int [ m_size ];
        std::fill_n(m_pArr, m_size, val);
    }
    virtual ~Array() {
        delete [] m_pArr;
    }
    int & operator () (int pos) {
        if ( pos < 0 )
            throw std::range_error("Index less then min pos");
        else if ( pos > m_size - 1 )
            throw std::range_error("Index greater then max pos");
        else
            return m_pArr[pos];
    }
};
 
int main(){
    Array arr(5, 1);
    std::cout << "Get first: " << arr(0) << std::endl;
    std::cout << "Set last value to 0: ";
    arr(4) = 0;
    std::cout << arr(4) << std::endl;
    std::cout << "Try to get out of bounds element: ";
    int i = arr(5);
    std::cout << i;
 
    return 0;
}
*Чтобы сообщения выводились, нужно это всё в try/catch запихивать...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru