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

Перегрузка оператора "+" с шаблонами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить http://www.cyberforum.ru/cpp-beginners/thread904540.html
Определить все 6-цифровые натуральные числа, которые являются номерами счастливых билетов (сумма первых трех цифр равна сумме последних трех цифр), использовать наименьшее количество циклов...
C++ Даны натуральные числа n, k. Используя наименьшее количество сравнений, определить, какое число будет находиться k-м месте в упорядоченном варианте Даны натуральные числа h, k и последовательность действительных чисел a1, а2 ... аn. Используя наименьшее количество сравнений, определить, какое число будет находиться k-м месте в упорядоченном... http://www.cyberforum.ru/cpp-beginners/thread904533.html
.Создать класс Binary1, который будет содержать число в двоичной системе C++
1.Поле first – целое число, целая часть числа, записанного в восьмеричной системе счисления; поле second – положительное целое число, дробная часть числа, записанного в восьмеричной системе...
Queue сортировка C++
Задание : отсортировать чергу по возростанию не использевать ООП queue <int> q; sort(q.front();q.back()) // не пашет подскажите пожалуста вот на это задание ...
C++ Создать собственный библиотечный файл http://www.cyberforum.ru/cpp-beginners/thread904516.html
Задание:Создать собственный библиотечный файл констант, типов и функций для реализации указанных задач и программу, которая использует его возможности для работы с файлами (зашифровки, подсчет...
C++ AEROFLOT помогите не могу понять, что не так. вот код: #include <iostream> #include <cstring> #include <fstream> const int n=7; int i,j; using namespace std; class AEROFLOT { public: подробнее

Показать сообщение отдельно
hrustash
3 / 3 / 1
Регистрация: 05.04.2013
Сообщений: 42

Перегрузка оператора "+" с шаблонами - C++

17.06.2013, 17:56. Просмотров 294. Ответов 8
Метки (Все метки)

нужно написать перегрузку оператора +, который объединяет 2 массива структур в один.
допустим, есть вот такая вот структура
C++
1
2
3
4
5
6
7
8
9
struct Stud1
{
    char name [50];
    char addr [50];
    double price;
    friend istream& operator >> (istream&, Stud1&);
    friend ostream& operator << (ostream&, Stud1&);
    bool operator == (Stud1&);
};
и класс-шаблон, для этого класса и нужна перегрузка +
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
template <class T>
class STUD
{
    int count;
    T *M;
public:
    STUD();
    STUD(int);
    STUD(const STUD&);
    ~STUD();
    void memory();
    void ReadData(istream&);
    void WriteData(ostream&);
    int GetCount();
    T& operator [] (int index);
    STUD<T> operator + (const STUD<T>&s)
        {
            STUD<T> A(count+s.count);
            int i;
            for (i = 0; i < count; i++)
                A.M[i]=M[i];
            for (int j = 0; j < s.count; i++, j++)
                A.M[i]=s.M[j];
            A.count=count+s.count;
            return A;
        }
};
и вот параметрический конструктор, который используется в реализации перегрузки
C++
1
2
3
4
5
6
template <class T>
STUD<T>::STUD(int a)
{
    M = new T [a];
    count = a;
}
реализацию остальных функций, думаю, нет смысла кидать. но если надо - скину.
в мэйне создаю 3 объекта класса STUD с типом массива Struct1
C++
1
2
3
4
STUD<Stud1> A, A1, res;
A.ReadData(in1); //информацию, допустим, читаю из одного и того же файла. чтение работает нормально
A1.ReadData(in1);
res=A+A1;// ну и вот на сумме падает с ошибкой
хотелось бы понять, что я сделал не так?
0
Миниатюры
Перегрузка оператора "+" с шаблонами  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru