64 / 45 / 20
Регистрация: 04.12.2018
Сообщений: 334
1

Много ошибок

18.07.2019, 18:26. Показов 470. Ответов 6
Метки нет (Все метки)

Пытаюсь перегрузить операторы ввода вывода
C++
1
2
friend ostream& operator <<(ostream& out, Planet& value);
friend istream& operator >>(istream& in, Planet& value);
C++
1
2
3
4
5
6
7
8
istream& operator >>(istream& in, Planet& value)
{
    return(in >> value.GetName>>value.GetWay);
}
ostream& operator <<(ostream& out, Planet& value)
{
    return(out << "My out" << value.GetWay() << "and here" << value.GetName());
}
C++
1
2
cin >> pl;
cout << pl;
Что не так. Что нужно исправить. Выдает много ошибок.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2019, 18:26
Ответы с готовыми решениями:

много ошибок
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; int main() {...

Много ошибок
#include &lt;iostream&gt; using namespace std; double F(double X){ return (pow((sin(X) - 2 * cos(2 *...

Много ошибок
Подключил библиотеку WinUser.h и появилось 500 ошибок. Помогите) #include &lt;iostream&gt; #include...

CMake - много ошибок
Здравствуйте. Помогите пожалуйста скомпилировать игру MineTest . У меня не компилится, комп слабый...

6
2732 / 1892 / 563
Регистрация: 05.06.2014
Сообщений: 5,524
18.07.2019, 18:53 2
Список ошибок гадалка должна узнавать? Для начала, почему в одном месте GetName вызывается как поле (без скобок), а в другом как функция (со скобочками () в конце)?
0
"C with Classes"
1507 / 1303 / 492
Регистрация: 16.08.2014
Сообщений: 5,462
Записей в блоге: 1
18.07.2019, 18:56 3
Макрой, скобки забыл, это первое.
C++
1
in >> value.GetName()>>value.GetWay()
и наверно надо сначала во временную переменную прочитать значение потом сохранить в объект с помощью сетера?
0
64 / 45 / 20
Регистрация: 04.12.2018
Сообщений: 334
18.07.2019, 19:57  [ТС] 4
_stanislav, Renji,
вот исправил но все равно ошибки
C++
1
2
3
4
istream& operator >> (istream& in, Planet& value)
{
    return(in >> value.SetName(value.GetName())>>value.SetName(value.GetName()));
}
2 скриншот это когда захожу в main
и еще 52 ошибки
Миниатюры
Много ошибок   Много ошибок  
0
"C with Classes"
1507 / 1303 / 492
Регистрация: 16.08.2014
Сообщений: 5,462
Записей в блоге: 1
18.07.2019, 20:23 5
Цитата Сообщение от Макрой Посмотреть сообщение
вот исправил но все равно ошибки
неправильно исправил, нужно через фундаментальные типы перегружать операторы ввода вывода. то есть операторы ввода вывода уже перегружены так сказать на уровне языка для int или std::string, а ты этими перегрузками пользуешься что бы перегрузить свои, это по поводу первой ошибки, а на счет второй подключи #include <istream> #include <ostream>

Добавлено через 18 минут
Макрой,
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
#include <iostream>
#include <istream>
 
class Test
{
    int i;
public:
    void Set(int ii)
    {
        i = ii;
    }
};
 
std::istream& operator>>(std::istream& s, Test& t)
{
    int temp{};
    s >> temp;
    t.Set(temp);
    return s;
}
 
int main()
{
    Test t;
    std::cin >> t;
 
    return 0;
}
1
64 / 45 / 20
Регистрация: 04.12.2018
Сообщений: 334
19.07.2019, 00:51  [ТС] 6
_stanislav, Ошибки
C++
1
2
//Заголовочный файл
std:: ostream& operator <<(std::ostream& out, Planet& value);
C++
1
2
3
4
5
//Файл Planet.cpp
std::ostream& operator <<(std::ostream& out, Planet& value)
{
    return(out << value.GetName() << " " << value.GetWay() << " " << value.GetSpt().GetMass());
}
C++
1
2
3
//main сделал пока-что без перегрузки оператора ввода 
Planet pl(name,21,c);
    std::cout << pl;
Добавлено через 15 минут
_stanislav, как решить ?

Добавлено через 3 часа 55 минут
_stanislav, Все заработало,спасибо,могли бы вы объяснить почему заработало с std:: ?
0
зомбяк
1556 / 1195 / 339
Регистрация: 14.05.2017
Сообщений: 3,882
19.07.2019, 12:52 7
Цитата Сообщение от Макрой Посмотреть сообщение
почему заработало с std::
Потому что ostream определён именно в этом пространстве имён. Если не использовал
C++
1
using namespace std;
то не понятно почему у тебя компилировался cout.

Добавлено через 53 секунды
Или же если использовал
C++
1
using std::cout;
то почему не добавил
C++
1
using std::ostream;
?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2019, 12:52

Много ошибок в MVS C++
Вот код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; using namespace std;...

Очень много ошибок в программе
Всем привет. Написал не сложную программу. Нажал F5 и был шокирован #include &lt;cstdlib&gt; #include...

много ошибок при компиляции
Помогите найти ошибки #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main(){ int const...

Очень много ошибок в коде
Помогите пожалуйста исправить ошибки в коде #include &quot;pch.h&quot; #include &lt;iostream&gt; #include...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru