Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> При компиляции выводит *.h в консоль???? Господа программисты поделитесь секретом 
V
    Опции темы
Killer_13
Дата 31.10.2010, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: 1
Всего: 1



Вот, компилирую программу, а оно мне в консоль header выдает, что такое?

Код

/**************************************************************************
  FifoClassTest_2.h

  Testen der Container-Klasse mit Fifo-Eigenschaften

  Dr. B. Lang, FH OS
  12.04.2001: Erste Version
  24.03.2003: Ueberarbeitung fuer OOP-Praktikum SS2003
  19.03.2004: Angepasst an GNU 3.xx Compiler
  23.03.2005: Ueberarbeitung fuer OOP-Praktikum SS2005
  31.03.2006: Nun werden Referenzen von FifoClass gefangen

  To Do:
  - nichts bekannt
/*************************************************************************/
#include<iostream>
using namespace std;
#include "FifoClass.h"

//
// Testprogramm fьr Methode "mergesort": Textdatei bitte als Argument ьbergeben
//
int main(int argc, char *argv[]) {

  //
  // Sortieren
  //
  try {
    cout << ">Fifo aus Textdatei fuellen" << endl;
    FifoClass s( (argc>1) ? argv[1] : "FifoClass.h" ); // Fifo einrichten und aus Datei fьllen
    cout << ">Fifo sortieren" << endl;
    //s.mergesort();                          // Elemente im Fifo sortieren
    cout << ">Fifo ausgeben" << endl;
    while (s>0) {                           // Elemente ausgeben
      cout << static_cast<string>(s) << endl;
    }
  } catch (FifoClass& f) {
    cout << "> Failure: Fifo Objekt sollte hier keine Ausnahme werfen:" << endl;
    cout << " >>> " << f.Error() << endl;
    return 3;
  } catch (...) {
    cout << "> Failure: Unbekannte Ausnahme" << endl;
    return 3;
  }
  return 0;
}



Код

using namespace std;

class FifoClass {
private:

    class Stack {
    private:
        string line;
        Stack *next;
    public:
        string getLine() const {return line;}
        Stack* getNext() const {return next;}
        void setNext(Stack* ptr){next=ptr;}
        Stack(string str);
        ~Stack(){};
    };

    unsigned int counter;
    Stack *root;
    char* err;

public:
    FifoClass();
    FifoClass(const char*);
    ~FifoClass();

    FifoClass & operator<<(const string&);
    FifoClass & operator>>(string&);
    operator string();
    operator int() const;
    const char* Error() const;
    FifoClass& push(const string&);
    FifoClass& pop(string&);
    
};



Пасиб.

Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  2.jpg 71,40 Kb
PM MAIL   Вверх
Леопольд
Дата 31.10.2010, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 943
Регистрация: 17.6.2009

Репутация: 3
Всего: 13



Цитата(Killer_13 @  31.10.2010,  22:13 Найти цитируемый пост)
что такое?
凡类的实现?
 

Это сообщение отредактировал(а) Леопольд - 31.10.2010, 22:42


--------------------
вопросов больше чем ответов
PM MAIL   Вверх
Killer_13
Дата 31.10.2010, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: 1
Всего: 1



Не знаю, а вы откуда это взяли? :(

Это сообщение отредактировал(а) Killer_13 - 31.10.2010, 22:41
PM MAIL   Вверх
Леопольд
Дата 31.10.2010, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 943
Регистрация: 17.6.2009

Репутация: 3
Всего: 13



Цитата(Killer_13 @  31.10.2010,  22:41 Найти цитируемый пост)
Не знаю, а вы откуда это взяли? :(
http://translate.google.ru/?hl=ru&tab=wT#zh-CN|ru|



--------------------
вопросов больше чем ответов
PM MAIL   Вверх
Killer_13
Дата 31.10.2010, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: 1
Всего: 1



"Где реализация класса" 
ну вот.
Код

#include<iostream>
#include <fstream>
#include "FifoClass.h"

using namespace std;

//-----------------------------------------------------------------------------

FifoClass::FifoClass() {
    root = NULL;
    counter = 0;
}

//-----------------------------------------------------------------------------

FifoClass::FifoClass(const char* datName) {
    root = NULL;
    counter = 0;
    string row;
    ifstream aus(datName);

    if (!aus.is_open()) {
        cout << "Fehler! Konnte Datei nicht oeffnen!" << endl;
        throw *this;
    }

    while (!aus.eof()) {
        getline(aus, row, '\n');
        *this << row;
    }
}

//-----------------------------------------------------------------------------

FifoClass& FifoClass::operator <<(const string& str) {

    return push(str);
}

//-----------------------------------------------------------------------------

FifoClass& FifoClass::push(const string& val) {

    Stack *element, *temp;

    try {
        element = new Stack(val);
        counter++;
    } catch (bad_alloc) {
        err = "Kein Speicher vorhanden";
        throw *this;
    } catch (...) {
        err = "Unbekannter Fehler beim Anlegen";
        throw *this;
    }
    if (NULL == root) {
        root = element;
    } else {
        temp = root;
        while (NULL != temp->getNext())
            temp = temp->getNext();
        temp->setNext(element);
        //cout << temp->line << endl;
    }

    return *this;
}

//-----------------------------------------------------------------------------

FifoClass& FifoClass::operator >>(string& str) {

    str = static_cast<string> (*this);
    return *this;
}

//-----------------------------------------------------------------------------

FifoClass::operator string() {

    string tempStr;
    Stack *temp;

    if (counter == 0) {
        err = "Stack underflow";
        throw *this;
    }
    tempStr = root->getLine();

    temp = root->getNext();
    delete root;
    root = temp;
    counter--;

    return tempStr;
}

//-----------------------------------------------------------------------------

FifoClass::operator int () const {
    return counter;
}

//-----------------------------------------------------------------------------

FifoClass::~FifoClass() {

    Stack *current = NULL,
            *to_del = root;
    while (to_del != NULL) {
        current = current->getNext();
        cout << "Del El= " << to_del->getLine() << endl;
        delete to_del;
        to_del = current;
    }
    root = NULL;

}

//-----------------------------------------------------------------------------

FifoClass::Stack::Stack(string str) {
    line = str;
    next = NULL;
}

//-----------------------------------------------------------------------------

const char* FifoClass::Error() const {
    return err;
}

//-----------------------------------------------------------------------------





Добавлено через 48 секунд
Юмористы. smilesmilesmile  smile 
PM MAIL   Вверх
Леопольд
Дата 31.10.2010, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 943
Регистрация: 17.6.2009

Репутация: 3
Всего: 13



Killer_13, завтра посмотрю, если раньше не ответят и память не подведёт smile
P.S. bез реализации класса, ответить на вопрос мог только телепат...


--------------------
вопросов больше чем ответов
PM MAIL   Вверх
Crafty
Дата 31.10.2010, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Не обязательно быть телепатом.

Killer_13,  ты как программу запускаешь?

Добавлено через 41 секунду
Думаю проблема вот в этой строке 
Код

FifoClass s( (argc>1) ? argv[1] : "FifoClass.h" ); // Fifo einrichten und aus Datei fьllen

PM MAIL   Вверх
Killer_13
Дата 31.10.2010, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: 1
Всего: 1



А я то думаю, откуда вы взяли там китайский, - хороший юмор.
Программа работает. но класс и его реализацию тестировал в другом мейне.
А этот мейн мне выбрасывает, вот такое.. :(
Пасиб.
PM MAIL   Вверх
Леопольд
Дата 31.10.2010, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 943
Регистрация: 17.6.2009

Репутация: 3
Всего: 13



Цитата(Crafty @  31.10.2010,  22:51 Найти цитируемый пост)
Не обязательно быть телепатом.

Killer_13,  ты как программу запускаешь? 
Подразумевалось что это вся доступная информация...  smile  



--------------------
вопросов больше чем ответов
PM MAIL   Вверх
Killer_13
Дата 31.10.2010, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: 1
Всего: 1



ТОЧНООООО!!!! УУУУУ БЛИН ТУПАЯ БАШКА, ТАМ ДОЛЖЕН БЫТЬ ДРУГОЙ ФАЙЛ!!!
СПАСИБ, вопрос решен. smilesmilesmilesmile

PM MAIL   Вверх
xvr
Дата 1.11.2010, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Не при компиляции, а при исполнении. И не компилятор, а ваша программа. Почему - потому что вы ее сами попросили ( http://forum.vingrad.ru/index.php?showtopi...t&p=2239948 )

PM MAIL   Вверх
Killer_13
Дата 1.11.2010, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: 1
Всего: 1



Пасиб за поправки, - учту.
Да уже понял почему. smilesmilesmile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.