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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
#1

Перегрузка классов - C++

11.03.2013, 22:55. Просмотров 365. Ответов 1
Метки нет (Все метки)

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
struct Massiv
{
    int n;
    int *p;
    Massiv ()
    {
        p=0;
        n=0;
    }
    Massiv (int *y,int n)
    {
        this->n=n;
        p=new int[n];
        for (int i=0; i<n; i++)
            this->p[i]=y[i];
    }
    ~Massiv()
    {
        if (n>0) delete []p;
    }
    int & operator[] (int index)
    {
        return p[index];
    }
};
Условие:
Кликните здесь для просмотра всего текста

Перегрузить операцию [] (обращение к элементу массива) и операцию + (сложение). В операции + два операнда имеют тип Massiv, в результате получаем новый объект типа Massiv, длина которого равна максимальной длине двух исходных массивов, а элемент равен сумме соответствующих элементов (имеющих одинаковые индексы), если они есть, или элементу массива максимальной длины, если соответствующих элементов нет.


Объясните как перегрузить классы( Не понимаю...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 22:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка классов (C++):

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов - C++
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

перегрузка классов - C++
Народ, всем привет:D!!! 2 дня тому назад писал код в которм необходимо было добавить в базовый и производный классы констуктор с...

Шаблоны классов, перегрузка операторов - C++
Задание:Реализовать шаблон классов Array. Перегрузить операторы присваивания =, ввода &gt;&gt; и вывода &lt;&lt; (предусмотреть обработку ошибок...

Перегрузка операторов для классов - C++
Определить класс описывающий вектор в пространстве. Для класса перегрузить префиксный унарный оператор. Написать программу в которой...

Перегрузка операторов для наследованных классов - C++
Есть один класс, для него определена операция сложения. Есть так же наследованный класс для него работает операция сложения определенная...

Перегрузка ofstream / ifstream для классов - C++
Приветствую! Возникла трудность. Имеется класс с данными. Необходимо реализовать чтение и ввод объекта класса в файл посредством перегрузки...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
11.03.2013, 23:08 #2
ну один вы перегрузили
Цитата Сообщение от kukhtikov Посмотреть сообщение
int & operator[] (int index)
* * {
* * * * return p[index];
* * }
еще нужно перегрузить оператор[] для константного метода, чтобы можно было обращаться к элементам константного объекта.
C++
1
2
3
4
const int & operator[] (int index) const
{
    return p[index];
}
оператор+ - находите массив с максимальной длиной и инициализируете его значениями этого массива, затем просто добавляете второй массив.
C++
1
2
3
4
Massiv operator+(const Massiv &m) const
{
    ...
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2013, 23:08
Привет! Вот еще темы с ответами:

Перегрузка оператора = и +=, используя наследование классов - C++
Есть 2 класса (Point и Rect). В классе Rect нужно перегрузить операцию = и += не нарушая правил инкапсуляции. Я пробую через функции get_x,...

Шаблоны классов, перегрузка operator<< класса ostream - C++
Не компилируется программа. fatal error: 1 unresolved externals Как правильно определить operator&lt;&lt; ??? #include &lt;iostream&gt; ...

Перегрузка арифметических операций для работы с объектами классов. - C++
Создать класс Animal, содержащий следующие элементы: - поле «вес» float Mass; - поле «пол» char* Sex; - поле «окрас» char* Color; ...

Перегрузка оператора "<<" для вывода пользовательских классов - C++
Всем доброго времени суток. Пытаюсь сделать перегрузку оператора &quot;&lt;&lt;&quot; для того, чтобы можно было выводить объекты пользовательского класса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru