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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить http://www.cyberforum.ru/cpp-beginners/thread904540.html
Определить все 6-цифровые натуральные числа, которые являются номерами счастливых билетов (сумма первых трех цифр равна сумме последних трех цифр), использовать наименьшее количество циклов (классический вариант - 6 вложенных циклов)
C++ Даны натуральные числа n, k. Используя наименьшее количество сравнений, определить, какое число будет находиться k-м месте в упорядоченном варианте Даны натуральные числа h, k и последовательность действительных чисел a1, а2 ... аn. Используя наименьшее количество сравнений, определить, какое число будет находиться k-м месте в упорядоченном варианте данной последовательности Добавлено через 4 часа 4 минуты спасибо за помощь, сам сделал #include <iostream> #include <math.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread904533.html
.Создать класс Binary1, который будет содержать число в двоичной системе C++
1.Поле first – целое число, целая часть числа, записанного в восьмеричной системе счисления; поле second – положительное целое число, дробная часть числа, записанного в восьмеричной системе счисле-ния. Реализовать метод add8( ) – сложение чисел в восьмеричной системе. 2.Создать класс Binary1, который будет содержать число в двоичной системе (в отдельном поле – целая часть, в другом поле –...
Queue сортировка C++
Задание : отсортировать чергу по возростанию не использевать ООП queue <int> q; sort(q.front();q.back()) // не пашет подскажите пожалуста вот на это задание http://www.cyberforum.ru/cpp-beginners/thread904256.html
C++ Создать собственный библиотечный файл http://www.cyberforum.ru/cpp-beginners/thread904516.html
Задание:Создать собственный библиотечный файл констант, типов и функций для реализации указанных задач и программу, которая использует его возможности для работы с файлами (зашифровки, подсчет количества слов). Моя проблема:я без понятия как это делать (видимо меня не было на паре или мы это не проходили). Что я не знаю:1)как создавать БИБЛИОТЕЧНЫЙ файл (обычный умею). 2)как вписать функцию в...
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
17.06.2013, 17:56     перегрузка + с шаблонами
нужно написать перегрузку оператора +, который объединяет 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;// ну и вот на сумме падает с ошибкой
хотелось бы понять, что я сделал не так?
Миниатюры
перегрузка + с шаблонами  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru