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

Шаблон и оператор вывода! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конструктор C++ http://www.cyberforum.ru/cpp-beginners/thread37608.html
Привет.Я из этого примера все понял кроме конструктора.Каким образом строка 18 Setcoursename получает от конструктора строку 14 CS101 Introduction to Programming in C++.И зачем нужен setcoursename в строке 13.Обясните новичку как работает конструктор. // Fig. 3.15: GradeBook.h // GradeBook class definition presents the public interface of // the class. Member-function definitions appear in...
C++ Как программно определить диапазоны базовых типов? То есть, скажем, нужно определить максимальное и минимальное значение типа long double. Как это сделать программно? В стандартной библиотеке limits.h нет константы для long double. http://www.cyberforum.ru/cpp-beginners/thread37590.html
C++ отсортировать по количеству встерчаемости
Все имена из заданного списка студентов рассортировать по частоте их встречаемости в этом списке. Что-то никак не могу понять, как это сделать :( Помогите плиз...
написать программу, упорядочивающую слово во входном файле в алфавитном порядке C++
написать программу, упорядочивающую слово во входном файле в алфавитном порядке
C++ реализовать структуру данных кольцо и с помощью неё вывести на экран все варианты слова ABRAKADABRA, полученные циклическим сдвигом влево http://www.cyberforum.ru/cpp-beginners/thread37566.html
реализовать структуру данных кольцо и с помощью неё вывести на экран все варианты слова ABRAKADABRA, полученные циклическим сдвигом влево ABRAKADABRA BRAKADABRAA RAKADABRAAB
C++ написать программу, находящую наибольшую общую часть двух предложений(без учета пробелов) написать программу, находящую наибольшую общую часть двух предложений(без учета пробелов подробнее

Показать сообщение отдельно
Alexandr_LN
1 / 1 / 0
Регистрация: 28.04.2009
Сообщений: 116
01.06.2009, 14:01     Шаблон и оператор вывода!
Вот код программы:
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <iostream.h>
#pragma hdrstop
 
#pragma argsused
 
const int DefaultSize=10;
 
class Animal
{
    public:
    Animal();
    Animal(int);
    ~Animal() {}
    int GetWeight() const {return itsWeight;}
    void Display() const {cout << itsWeight;}
 
    private:
    int itsWeight;
};
 
Animal::Animal(int weight):itsWeight(weight) {}
 
Animal::Animal():itsWeight(0) {}
 
template <class T>
class Array
{
    public:
    Array(int itsSize=DefaultSize);
    Array(const Array &rhs);
    ~Array() {delete [] pType;}
    Array &operator=(const Array &rhs);
    T &operator[](int offset) {return pType[offset];}
    const T &operator[](int offset) const {return pType[offset];}
    int GetSize() const {return itsSize;}
    friend ostream &operator<<(ostream &,Array<T> &);
 
    private:
    T *pType;
    int itsSize;
};
 
template <class T>
Array<T>::Array(int size):itsSize(size)
{
    pType=new T[size];
    for (int i = 0; i < size; i++) {
        pType[i]=0;
    }
}
 
template <class T>
Array<T>::Array(const Array &rhs)
{
    itsSize=rhs.GetSize();
    pType=new T[itsSize];
    for (int i = 0; i < itsSize; i++) {
        pType[i]=rhs[i];
    }
}
 
template <class T>
Array<T> &Array<T>::operator=(const Array &rhs)
{
    if (this==&rhs) {
        return *this;
    }
    delete []pType;
    itsSize=rhs.GetSize();
    pType=new T[itsSize];
    for (int i = 0; i < itsSize; i++) {
        pType[i]=rhs[i];
    }
    return *this;
}
 
template <class T>
ostream &operator<<(ostream &output,Array<T> &theArray)
{
    for (int i = 0; i < theArray.GetSize(); i++) {
        output << "[" << theArray[i] << "]" << endl;
    }
    return output;
}
 
int main(int argc, char* argv[])
{
    bool Stop=false;
    int offset,value;
    Array<int> theArray;
 
    while (!Stop)
        {
            cout << "Enter an offset(0-9) ";
            cout << "and a value (-1) for stop: ";
            cin >> offset >> value;
 
            if (offset < 0) {
                break;
            }
 
            if (offset > 9) {
                cout << "***Please use values between 0 and 9***\n";
                continue;
            }
            theArray[offset]=value;
        }
 
    cout << "\n Here`s the entire array: \n";
    cout << theArray << endl;
 
    int j;
    cin >> j;
 
    return 0;
}
При компиляции выдает следующую ошибку:
[Linker Error] Error: Unresolved external 'operator <<(std::basic_ostream<char, std::char_traits<char> >&, Array<int>&)' referenced from C:\DOCUMENTS AND SETTINGS\AN\МОИ ДОКУМЕНТЫ\BORLAND STUDIO PROJECTS\DEBUG_BUILD\TEMPLATE2.OBJ

Если кто знает в чем проблема, подскажите пожайлуста!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru