Arhn - архитектура программирования

Куча ошибок при перегрузке оператора вывода

Я писал код и хотел перегрузить оператор ‹‹. Для этого я объявил оператор дружественной функцией, чтобы он имел доступ к некоторым приватным переменным, которые должны оставаться приватными! Но это возвращает мне много ошибок. Что доставляет мне больше всего проблем, так это то, что он не позволяет мне получить доступ к тем личным данным, которые мне нужны. Если я закомментирую оператор, программа компилируется просто отлично. И извините, потому что язык в коде немецкий.

Заголовок:

#pragma once
class fahrzeug
{
private:
    int hg;
    double tank;
    double fst;
    double dsv;
    double ks;
public:
    fahrzeug();
    fahrzeug(const fahrzeug& brm);
    friend ostream& operator<<(ostream& os, const fahrzeug& obj); // <------
    ~fahrzeug();
};

Цена за конверсию:

#include "fahrzeug.h"
#include <iostream>
using namespace std;



fahrzeug::fahrzeug()
{
    hg = 180;
    tank = 50;
    fst = 45;
    dsv = 9;
    ks = 50000;
}

fahrzeug::fahrzeug(const fahrzeug& brm)
{
    hg = brm.hg;
    tank = brm.tank;
    fst = brm.fst;
    dsv = brm.dsv;
    ks = brm.ks;
}

ostream& operator<<(ostream& os, const fahrzeug& brm) // <------ Operator
{
    os << "Höchstgeschwindigkeit: " << brm.hg << "km/h." << endl;
    os << "Volumen des Tanks: " << brm.tank << "L." << endl;
    os << "Füllstand des Tanks: " << brm.fst << "L." << endl;
    os << "Durchschnittlicher Spritverbrauch: " << brm.dsv << "L/(100km)" << endl;
    os << "Kilometerstand des Fahrzeugs: " << brm.ks << "km." << endl;

    return os;
}

fahrzeug::~fahrzeug()
{
}

  • Какие ошибки вы получаете? 06.01.2016

Ответы:


1

Вы забыли #include <iostream> в fahrzeug.h.

Добавлять

#include <iostream>
using std::ostream;

сразу после

#pragma once
05.01.2016
  • Большое спасибо, мне было интересно, в чем проблема... Никогда не думал, что забыл о такой тривиальной вещи, как добавление библиотеки. 06.01.2016
  • @HeatTheIce, пожалуйста. Не чувствуй себя плохо. Я уверен, что большинство из нас совершали такие ошибки. 06.01.2016
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..