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

Перегрузка оператора в шаблоне - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переписать слова из одного файла в другой, разбив их строками http://www.cyberforum.ru/cpp-beginners/thread1206200.html
Нужна не столько работающая программа, сколько объяснение, как это изобразить. Задание такое: В одном файле написаны слова через пробелы, нужно переписать их во второй файл, но чтобы каждое слово было с новой строки и заканчивалось как-нибудь литералом. #include <fstream> #include <iostream> #include <cstring> using namespace std; int main() {
C++ Какой отладчик лучше использовать? Привет всем. Скажите, какой отладчик лучше использовать начинающему? http://www.cyberforum.ru/cpp-beginners/thread1206197.html
Функция поиска в классах C++
Помогите написать функцию поиска в классе. Спасибо.
Сформировать упорядоченный двунаправленный список целых чисел C++
Сформировать упорядоченный двунаправленный список целых чисел. Включить в список новый элемент, не нарушив его упорядоченность. Вывести на экран список.
C++ Вывод из файла инфо о студенте http://www.cyberforum.ru/cpp-beginners/thread1206157.html
Во входном файле записана информация о каждом из 30 студентов некоторого вуза: <фамилия>, <имя>, <отчество>, <пол>, <возраст>, <курс>, причем в фамилии, имени и отцу не более 12 букв, пол указывается буквами М и Ж, возраст - целое от 16 до 35, курс - целое от 1 до 5. Сведения о студентах разделенные точкой с запятой. Напишите программу, которая вводит эту информацию и печатает следующие данные:...
C++ Выяснить, есть ли два пассажира, багаж которых совпадает Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дано файл f, содержащий информацию о багаже ​​нескольких пассажиров, информация о багаже ​​отдельного пассажира представляет собой соответствующую пару чисел (целое, вещественное). Выяснить, есть ли два пассажира, багаж которых совпадает по количеству вещей и отличается по весу не больше, чем на 0,5 кг. подробнее

Показать сообщение отдельно
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179

Перегрузка оператора в шаблоне - C++

12.06.2014, 13:51. Просмотров 357. Ответов 4
Метки (Все метки)

Добрый день, не могу сделать данную штуку. Есть у меня шаблон вектор(не из библиотеки), и не могу перегрузить для него операторы. Не подскажите как делать? Можно пример?
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <iostream>
#include <fstream>
#pragma warning(disable : 4996)
 
 
template<typename x> vectr{       // тайпнейм 
     x*v;
    int vlength;
public:
    vectr(){ v = NULL; } // дефолтный конструктор для возможности создания массива
    vectr(int vlength)  { v = new int[vlength]; }
 
    int& operator[](int i);
    vectr operator+( vectr &t);
    vectr operator=(vectr &t);
    friend ostream& operator<<(ostream& as, vectr& u);
};
 
 
int& vectr::operator[](int i)
{
    return v[i];
}
vectr vectr::operator+(vectr &t)
{
    vectr temp;
    for (int i = 0; i < vlength; i++)
        temp.v[i] = v[i] + t.v[i];
    return temp;
}
vectr vectr::operator=(vectr &t)
{
    for (int i = 0; i < vlength; i++)
        v[i] = t.v[i];
    return *this;
}
 
ostream& operator<<(ostream& as, vectr& u)
{
    for (int i = 0; i < u.vlength; i++)
        as << u.v[i]<<" ";
    cout << endl;
    return as;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{ 
int n;
int vlength; // длина вектора
    cout << "enter number of vectors" << endl;
 cin >> n;
 cout << "enter length of vector" << endl;
 cin >> vlength;
 cout << "testing vectr class" << endl;
 vectr v2(vlength);
 for (int i = 0; i < vlength; i++)
     v2[i] = i;
 for (int i = 0; i < vlength; i++)
 cout << v2[i]<<" ";
 
    return 0; // переделать для работы с шаблонами
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru