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

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

Войти
Регистрация
Восстановить пароль
 
notemac
27 / 27 / 4
Регистрация: 13.09.2014
Сообщений: 137
#1

Friend ostream& operator<<(ostream& stream, CArr& obj); - C++

27.10.2014, 14:27. Просмотров 900. Ответов 2
Метки нет (Все метки)

CArr.h
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
#pragma once
class CArr{
    int* arr = nullptr;
    int size = 10;
    void swap(int *a, int *b);
    void swap(int &a, int &b);
    friend ostream& operator<<(ostream& stream, CArr& obj);
    friend istream& operator>>(istream& stream, CArr& obj);
public:
    CArr();
    CArr(const int size);
    CArr(const CArr& obj);
    CArr& operator=(const CArr& obj);
    CArr operator+(const CArr& obj);
    CArr operator-(const CArr& obj);
    int& operator[](const int& index);
    bool operator>(const CArr& obj);
    bool operator<(const CArr& obj);
    bool operator==(const CArr& obj);
    bool operator!=(const CArr& obj);
    bool operator>=(const CArr& obj);
    bool operator<=(const CArr& obj);
    void sort(const int flag);
    ~CArr();
};
CArr.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ostream& operator<<(ostream& stream, CArr& obj) {
    for (int i = 0; i < obj.size; i++) {
        stream << obj.arr[i] << ' ';
    }
    cout << endl;
    return stream;
}
istream& operator>>(istream& stream, CArr& obj) {
    for (int i = 0; i < obj.size; i++) {
        stream >> obj.arr[i];
    }
cout << endl;
    return stream;
}
Во время компиляции подчеркивает почему-то в реализации obj.size и obj.arr[i] в istream и в ostream.
Запускаю, ошибки:
C++
1
2
3
Error   7   error C2433: 'istream' : 'friend' not permitted on data declarations
Error   2   error C2433: 'ostream' : 'friend' not permitted on data declarations
Error   5   error C2805: binary 'operator <<' has too few parameters
и другие. Я так понял это из-за friend, как исправить?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2014, 14:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Friend ostream& operator<<(ostream& stream, CArr& obj); (C++):

friend ostream &operator<<(ostream &stream, MyClass o); - C++
Что означает данная строчка которую обычно пишут в конце класса? friend ostream &amp;operator&lt;&lt;(ostream &amp;stream, MyClass o);

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка? - C++
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt; setw(5) &lt;&lt; ptr; // вывод элементов...

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration? - C++
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const Rational&amp;); - invalid function declaration. ...

Ошибка undefined reference to `operator<<(std::ostream&, Account)' - C++
Всем здравствуйте! На днях столкнулся с ошибкой, с которой еще не раз не сталкивался, и не знаю как ее исправить. Ошибка выглядит так: ...

Зачем "&" в "ostream& operator<<"? - C++
Здарова. Я представляю, что такое перегрузка операций, но вот наткнулся на непонятный синтаксис. enum Months{ Jan=1,...

Создайте класс, в котором есть ostream& operator<<. Класс должен содержать очередь с приоритетом - C++
Создайте класс, в котором есть ostream&amp; operator&lt;&lt;. Класс должен содержать очередь с приоритетом. Создайте генератор — заполнитель очереди...

2
Kuzia domovenok
2130 / 1959 / 197
Регистрация: 25.03.2012
Сообщений: 6,834
Записей в блоге: 1
27.10.2014, 14:33 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
а он вообще знает, что такое ostream?
iostream то подключен?
а namespace std?
1
notemac
27 / 27 / 4
Регистрация: 13.09.2014
Сообщений: 137
27.10.2014, 14:45  [ТС] #3
Kuzia domovenok, спасибо, заработало. В CArr.h <iostream> не было
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2014, 14:45
Привет! Вот еще темы с ответами:

ostream& output - C++
Что это за параметр такой, - ostream&amp; output? ostream&amp; operator&lt;&lt; (ostream&amp; output, const Array&lt;T&gt;&amp; theArray) { for (int i = 0;...

Ошибка: multiple definition of `void std::swap<A>(A&amp;, A&amp;) - C++
Хочу специализировать swap для своего класса. Получаю ошибку. Вот код:#ifndef A_H #define A_H #include &lt;string&gt; class A { ...

Выделение памяти для буффера, под std::istream& operator>>(std::istream &, String &) - C++
Добрый день. Как осуществляется выделения памяти под перегруженный оператор ввода данных в пользовательский тип? Ведь мы заранее не можем...

В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура x*x+y*y<25&&x*x+y*y>=9& - C++
В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура...


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

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

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